#include <iostream>
#include<memory>
using namespace std;
class play {
public:
virtual void play1() = 0;
virtual void play2() = 0;
};
class player : public play {
public:
void play1() {
cout << "年龄在25-30之间" << endl;
}
void play2() {
cout << "漂亮" << endl;
}
};
//未成年
class proxyPlayer1 : public play {
public:
proxyPlayer1() {
m_player = new player();
}
void play1() {
cout << "未成年不得早恋!" << endl;
}
void play2() {}
private:
player* m_player;
};
//成年
class proxyPlayer2 : public play {
public:
proxyPlayer2() {
m_player = new player();
}
void play1() {
m_player->play1();
}
void play2() {
m_player->play2();
}
private:
player* m_player;
};
int main()
{
cout << "您的要求为:"<<endl;
proxyPlayer2* p2 = new proxyPlayer2();
p2->play1();
p2->play2();
cout << "===============" << endl;
proxyPlayer1* p1 = new proxyPlayer1();
p1->play1();
p1->play2();
}