#include <iostream>
using namespace std;
class Repeater
{
//复读机基类的声明
public:
virtual void Play();
virtual ~Repeater()
{
cout << "砰!" << endl;
}
};
//复读机基类的定义
void Repeater::Play() {}
class ForRepeater : public Repeater
{
//正向复读机的声明
void Play() override;
virtual~ForRepeater()
{
cout << "正·复读机 炸了" << endl;
}
};
//正向复读机的定义
void ForRepeater::Play()
{
cout << "没想到你也是一个复读机" << endl;
}
class RevRepeater : public Repeater
{
//反向复读机的声明
void Play() override;
virtual~RevRepeater()
{
cout << "机读复·反 炸了" << endl;
}
};
//反向复读机的定义
void RevRepeater::Play()
{
cout << "机读复个一是也你到想没" << endl;
}
//普通函数
Repeater* CreateRepeater(int type)
{
//根据type创建指定的复读机
if (type == 0)
{
return new ForRepeater ;
}
else if (type == 1)
{
return new RevRepeater;
}
}
int main()
{
int i;
cin >> i;
Repeater* ptr = CreateRepeater(i);
ptr->Play();
delete ptr;
}
头歌实训项目【复读机的毁灭】
最新推荐文章于 2024-05-17 07:52:27 发布
本文介绍了一种面向对象的编程范例,通过Repeater基类和其子类ForRepeater和RevRepeater展示复读机功能。通过CreateRepeater函数根据用户输入创建不同类型的复读机并演示Play方法。
摘要由CSDN通过智能技术生成