结构图:
- #include<iostream>
-
- classSubject
- {
- public:
-
virtual void request() =0; - };
-
- class RealSubject : publicSubject
- {
- public:
-
void request(){std::cout<< "Real Subject requests ..."<< std::endl;} - };
-
- classProxy
- {
- public:
-
Proxy(Subject*subject):_subject(subject){} -
voidrequest(){_subject->request();} - private:
-
Subject* _subject; - };
-
- intmain()
- {
-
Proxy *p = new Proxy(newRealSubject); -
p->request(); -
-
return 0; - }