//携程买票
#include <iostream>
using namespace std;
//抽象主题类
class Subject {
public:
virtual void BuyTicket() = 0;
};
//代理类
class User : public Subject {
public:
void BuyTicket() { cout << "用户买票" << endl; }
};
class Ctrip : public Subject {
public:
Ctrip(Subject* sub) : m_sub(sub) {}
void BuyTicket() { cout << "携程买票" << endl; }
private:
Subject* m_sub;
};
int main() {
Subject* sub = new User;
Ctrip* proxy = new Ctrip(sub);
proxy->BuyTicket();
return 0;
}