4.7.4 多态案例2--做奶茶

会有一股神秘感。 提交于 2020-02-01 16:32:41

案例描述

利用多态技术实现,提供抽象制作饮品基类,提供子类制作咖啡和茶叶

示例

#include <iostream>
#include <vector>
#include <cstdlib>

using namespace std;

class AbstractDrinking
{
public:
	//烧水
	virtual void Boil() = 0;
	//泡
	virtual void Brew() = 0;
	//倒入
	virtual void PourInCup() = 0;
	//加入辅料
	virtual void PutSometing() = 0;
	//制作
	void makeDrink()
	{
		Boil();
		Brew();
		PourInCup();
		PutSometing();

	}
private:

};

class Coffee :public AbstractDrinking
{
public:
	//烧水
	virtual void Boil()
	{
		cout << "烧纯净水" << endl;
	}
	//泡
	virtual void Brew()
	{
		cout << "泡咖啡" << endl;

	}
	//倒入
	virtual void PourInCup()
	{
		cout << "倒入马克杯" << endl;

	}
	//加入辅料
	virtual void PutSometing()
	{
		cout << "加入奶泡" << endl;
	}

private:

};

void doWork(AbstractDrinking *abs)
{
	abs->makeDrink();
	delete abs;
}


int main()
{
	doWork(new Coffee);

	system("pause");
	return 0;
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!