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

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;
}

http://www.xdnf.cn/news/13382.html

相关文章:

  • 【JVM】- 垃圾回收
  • 字符串方法_indexOf() +_trim()+_split()
  • 6.10 - 常用 SQL 语句以及知识点
  • 【threejs】每天一个小案例讲解:常见几何体
  • Android --- Handler的用法,子线程中怎么切线程进行更新UI
  • 清华大学视觉空间智能新突破!Spatial-MLLM:提升多模态大语言模型的视觉空间智能能力
  • 3通道图的数据在opencv的mat是如何存放的
  • flow_controllers
  • plantuml画uml图
  • Python实例题:Python计算离散数学
  • 使用swagger来生成文档
  • C++中优雅的属性封装:Sint类设计分析
  • 网络六边形受到攻击
  • PLC入门【5】基本指令3(PLS PLF ZRST)
  • TestCafe API
  • vue3 + element plus -- table表格使用sortablejs实现表格拖拽换位功能
  • 麒麟Kylin V10 SP3服务器操作系统安装
  • 项目进度管理软件是什么?项目进度管理软件有哪些核心功能?
  • LoRA(Low-Rank Adaptation,低秩适应)
  • leetCode- 两数相加
  • 【AI学习】一、向量表征(Vector Representation)
  • 报告精读:金融算力基础设施发展报告 2024【附全文阅读】
  • 构建欺诈事件的结构化威胁建模框架
  • Coze 和 Dify 对比
  • 销售心得分享
  • 保险风险预测数据集insurance.csv
  • vivado IP核High speed/Low latency设置对系统性能的影响
  • 深入浅出Diffusion模型:从原理到实践的全方位教程
  • 改进系列(13):基于改进U-ResNet的脊椎医学图像分割系统设计与实现
  • 游戏盾的功能是什么