C++实现代理模式

来源:互联网 发布:cad软件安装教程 编辑:程序博客网 时间:2024/06/06 12:51
/*代理模式:为其他对象提供一种代理,以控制对这个对象的访问Created by Phoenix_FuliMa*/#include <iostream>#include <string>using namespace std;class Receiver{private:string name;public:Receiver(string name):name(name){}string GetName(){return name;}};class Subject{public:virtual void display(){}};class Sender:public Subject{Receiver *someone;public:void SetReceiver(Receiver *someone){this->someone = someone;}virtual void display(){cout<<"i hate you:" << someone->GetName()<<endl;}};class Proxy:public Subject{public:Subject *realobject;void SetClient(Subject *client){this->realobject = client;}void display(){realobject->display();}};int main(){Receiver *recv = new Receiver("nobody");Sender *obj   = new Sender;obj->SetReceiver(recv);Proxy  *proxy = new Proxy;proxy->SetClient(obj);proxy->display();system("pause");return 0;}

原创粉丝点击