当前位置: 首页 > news >正文

C++_核心编程_多态案例二-制作饮品

#include <iostream>
#include <string>  
using namespace std;/*制作饮品的大致流程为:煮水 -  冲泡 - 倒入杯中 - 加入辅料
利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/
class AbstractDrinking
{
public://抽象类制作饮品//煮水virtual void boilWater() = 0;//冲泡virtual void brewMethods() = 0;//倒入杯中virtual void pourCup() = 0;//加入辅料virtual void pourSeasonings() = 0;// 规定流程void makeDrinking() {boilWater();brewMethods();pourCup();pourSeasonings();}};
// 制作咖啡
class MakeCaffe : public AbstractDrinking
{
public:virtual void boilWater() {cout << "煮水" << endl;}virtual void brewMethods() {cout << "冲泡咖啡" << endl;}virtual void pourCup() {cout << "倒入杯中" << endl;}virtual void pourSeasonings() {cout << "加糖和牛奶" << endl;}
};//冲茶叶
class MakeTea : public AbstractDrinking
{
public:virtual void boilWater() {cout << "煮水" << endl;}virtual void brewMethods() {cout << "冲泡茶叶" << endl;}virtual void pourCup() {cout << "倒入杯中" << endl;}virtual void pourSeasonings() {cout << "加柠檬" << endl;}};//业务函数
void DoWork(AbstractDrinking* drink) {drink->makeDrinking();delete drink;}void test01() {DoWork(new MakeCaffe);cout << "----------" << endl;DoWork(new MakeTea);
}int main() {test01();system("pause");return 0;
}

相关文章:

  • 赛尔发布SHARE 5系列航测相机,外业更高效,建模更优质
  • 制作一款打飞机游戏69:编辑器升级
  • AliExpress(速卖通)铺货工具,图片下载,SKU浏览,详情搬运,使用方法
  • 3分钟配置好nacos集群(docker compose)
  • Docker 创建及部署完整流程
  • (五)docker环境中配置hosts
  • 【论文阅读笔记】HaDes幻觉检测benchmark
  • 搭建gitlab ci/cd runner实现对c++项目的自动编译和打包
  • 丝杆升降机的物联网与大数据应用的具体例子
  • V837s-SDK Telnetd服务连接不上异常解决
  • A16 扁平化管理
  • YSYX学习记录(八)
  • PHP 多种内置的验证规则和函数
  • 网络验证Api用户系统(本系统基于php+mysql开发) 软件验证卡密系统 源码测试搭建成功
  • MFC 第一章概述
  • RabbitMQ的使用--Spring AMQP(更新中)
  • ubuntu24安装TensorRT
  • Vue.js 中的 v-bind 指令详解
  • 熵最小化Entropy Minimization (二): 案例实施
  • 《高等数学》(同济大学·第7版)第三章第六节函数图形的描绘
  • 建站软件有哪些功能/世界杯排名
  • wordpress导购站主题/平台交易网
  • 哪个网站可以看一级a做爰片t/竞价推广平台有哪些
  • 红安县城乡建设局网站/浙江网络推广公司
  • 如何wordpress建站/seo网站优化课程
  • 大学生做政府网站/友情链接交换方式有哪些