多态案例(制作饮品)

多态:一个接口能够有多种形态

#include<iostream>
using namespace std;

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 Tea:public AbstractDrinking
{
public:
	//煮水
	virtual void Boil()
	{
		cout << "111" << endl;
	}

	//冲泡
	virtual void Brew()
	{
		cout << "111" << endl;
	}

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

	//加入辅料
	virtual void PutSomething()
	{
		cout << "111" << endl;
	}
};

//制作函数
void doWork(AbstractDrinking& abs)
{
	abs.makeDrink();
	//abs->makeDrin();
	//delete abs;
}

void test01()
{	
	Tea tea;
	//AbstractDrinking * abs = new Tea
	doWork(tea);
}

int main()
{
	test01();
}

相关推荐

  1. 案例(制作饮品)

    2024-04-30 18:26:03       13 阅读
  2. 案例三-电脑组装

    2024-04-30 18:26:03       38 阅读
  3. 《c++》案例一.电脑组装

    2024-04-30 18:26:03       13 阅读
  4. <span style='color:red;'>多</span><span style='color:red;'>态</span>

    2024-04-30 18:26:03      26 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-30 18:26:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-30 18:26:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-30 18:26:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-30 18:26:03       20 阅读

热门阅读

  1. 动态规划与搜索算法

    2024-04-30 18:26:03       13 阅读
  2. Springboot项目中对Redis的使用

    2024-04-30 18:26:03       12 阅读
  3. JVM的类加载过程是怎样的

    2024-04-30 18:26:03       12 阅读
  4. web server apache tomcat11-25-Advanced IO and Tomcat

    2024-04-30 18:26:03       12 阅读
  5. js常用方法(未完待续...)

    2024-04-30 18:26:03       13 阅读
  6. 标准更新丨美国发布玩具安全标准ASTM F963-23

    2024-04-30 18:26:03       11 阅读
  7. MATLAB初学者入门(25)—— LQR控制器优化设计

    2024-04-30 18:26:03       12 阅读
  8. web server apache tomcat11-24-Virtual Hosting and Tomcat

    2024-04-30 18:26:03       12 阅读