#include <iostream>
using namespace std;
class HandsetSoft
{
public:
virtual void run() = 0;
};
class HandsetGame:public HandsetSoft
{
public:
void run() override
{
cout<<"运行手机游戏"<<endl;
}
};
class HandsetAddresslist:public HandsetSoft
{
public:
void run() override
{
cout<<"运行手机通讯录"<<endl;
}
};
class HandsetBrand
{
public:
void setHandsetBrand(HandsetSoft* soft)
{
this->soft = soft;
}
virtual void run() = 0;
protected:
HandsetSoft* soft;
};
class HandsetBrandN:public HandsetBrand
{
public:
void run() override
{
soft->run();
}
};
class HandsetBrandM:public HandsetBrand
{
public:
void run() override
{
soft->run();
}
};
int main()
{
HandsetBrand* ab = new HandsetBrandN();
ab->setHandsetBrand(new HandsetGame());
ab->run();
ab->setHandsetBrand(new HandsetAddresslist());
ab->run();
system("pause");
return 0;
}
转发至微博
转发至微博