代理指向真正的实体,完成相应的任务。
1 #ifndef Proxy_H_H 2 #define Proxy_H_H 3 4 class Base{ 5 public: 6 virtual void show() = 0; 7 }; 8 9 class Real : public Base{ 10 public: 11 virtual void show(){ 12 cout << "This is real!" << endl; 13 } 14 }; 15 16 class Proxy : public Base{ 17 public: 18 virtual void show(){ 19 pReal->show(); 20 } 21 void setReal(Real *pReal0){ 22 pReal = pReal0; 23 } 24 private: 25 Real *pReal; 26 }; 27 28 29 void ProxyTest(){ 30 31 Real *base1 = new Real(); 32 Proxy *base2 = new Proxy(); 33 base2->setReal(base1); 34 35 base2->show(); 36 } 37 38 #endif