/*制作饮品*/
#include<string>
#include<iostream>
using namespace std;
class Base
{
public:
virtual void boil() = 0;
virtual void chongpao() = 0;
virtual void addsomething() = 0;
void makedrink()
{
boil();
chongpao();
addsomething();
}
};
/*制作咖啡*/
class coffee :public Base
{
public:
void boil()
{
cout << "煮农夫山泉" << endl;
}
void chongpao()
{
cout << "冲泡咖啡" << endl;
}
void addsomething()
{
cout << "添加糖和牛奶" << endl;
}
};
/*冲泡茶叶*/
class Tea :public Base
{
public:
void boil()
{
cout << "煮百所山" << endl;
}
void chongpao()
{
cout << "冲泡茶叶" << endl;
}
void addsomething()
{
cout << "添加枸杞和红枣" << endl;
}
};
void dowork(Base * bs)
{
bs->makedrink();
}
void test()
{
dowork(new coffee);
cout << "-------------------" << endl;
dowork(new Tea);
}
int main()
{
test();
system("pause");
return 0;
}
纯虚数与抽象类的实例
最新推荐文章于 2024-09-17 00:14:16 发布
文章通过C++编程展示了如何创建一个基础的抽象类`Base`,用于表示饮品的制作过程,包括煮水、冲泡和添加配料等步骤。然后,通过派生类`coffee`和`Tea`具体实现咖啡和茶的制作,利用多态特性调用基类的虚函数完成不同饮品的制作流程。
摘要由CSDN通过智能技术生成