静态代理模式
#include <iostream>
#include <string>
using namespace std;
class Subject {
public:
virtual void request() = 0;
virtual void sendMsg() = 0;
};
class RealSubject : public Subject{
virtual void request() {
cout << "real request" << endl;
}
virtual void sendMsg() {
cout << "send Message" << endl;
}
};
class Proxy :public Subject {
private:
Subject* sub;
public:
Proxy(Subject * s):sub(s) {
}
virtual void request() {
sub->request();
}
virtual void sendMsg() {
sub->sendMsg();
}
};
int main() {
Proxy* xy = new Proxy(new RealSubject());
xy->request();
xy->sendMsg();
return 0;
}