为其他对象提供一种代理以控制对这个对象的访问
1 #include <iostream> 2 #include <string> 3 #include <list> 4 5 using namespace std; 6 class Subject 7 { 8 public: 9 virtual void sailbook() = 0; 10 }; 11 12 class RealSubjectBook : public Subject 13 { 14 public: 15 virtual void sailbook() 16 { 17 cout << "Real sail book!" << endl; 18 } 19 }; 20 21 class dangdangProxy : public Subject 22 { 23 public: 24 virtual void sailbook() 25 { 26 RealSubjectBook *rsb = new RealSubjectBook; 27 dazhe(); 28 rsb->sailbook(); 29 } 30 31 void dazhe() 32 { 33 cout << "双十一半价" << endl; 34 } 35 }; 36 37 38 int main() 39 { 40 dangdangProxy* proxy = new dangdangProxy; 41 proxy->sailbook(); 42 43 delete proxy; 44 45 return system("pause"); 46 }