本文主要是介绍多态案例-冲泡咖啡,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
案例描述:制作饮品的大致流程:煮水-冲泡-倒入杯中-加入辅料
利用多态技术实现本案例,利用抽象制作饮品基类,提供子类制作咖啡和茶叶。
代码:
class AbstractDrinking
{
public://煮水virtual void Boil() = 0;//冲泡virtual void Brew() = 0;//倒入杯水virtual void PourInCup() = 0;//加入佐料virtual void PutSomething() = 0;void makedrink(){Boil();Brew();PourInCup();PutSomething();}};class Coffee :public AbstractDrinking
{
public:void Boil(){cout << "煮泉水" << endl;}void Brew(){cout << "冲泡咖啡" << endl;}void PourInCup(){cout << "倒入杯子" << endl;}void PutSomething(){cout << "加入糖和牛奶" << endl;}
};
class Tea :public AbstractDrinking
{
public:void Boil(){cout << "煮泉水" << endl;}void Brew(){cout << "冲泡茶页" << endl;}void PourInCup(){cout << "倒入杯子" << endl;}void PutSomething(){cout << "加入红枣" << endl;}
};
void dowork(AbstractDrinking& abc)
{abc.makedrink();//delete abc;}
int main()
{Coffee c;dowork(c);system("pause");return 0;
}
代码实现:
这篇关于多态案例-冲泡咖啡的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!