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

湖北省住房和建设厅网站首页网站开发工程师的职务

湖北省住房和建设厅网站首页,网站开发工程师的职务,jsp网站开发可行性分析,工程建设室内涂料招投标网站案例描述: 制作饮品的大致流程为:煮水-冲泡-倒入杯中-加入辅料 利用多态技术实现本案例,提供抽象制作产品基类,提供子类制作咖啡和茶叶 思路解析: 1. 定义抽象基类 - 创建 AbstractDrinking 抽象类,该类…

案例描述:

制作饮品的大致流程为:煮水-冲泡-倒入杯中-加入辅料
利用多态技术实现本案例,提供抽象制作产品基类,提供子类制作咖啡和茶叶

 思路解析:

 1. 定义抽象基类

- 创建 `AbstractDrinking` 抽象类,该类定义了制作饮品的通用接口。

- 包含四个纯虚函数:`Boil()`(煮水)、`Brew()`(冲泡)、`PourInCup()`(倒入杯中)和 `PutSomething()`(加入辅料),这些函数需要在派生类中具体实现。

- 提供一个 `makeDrink()` 成员函数,该函数按顺序调用上述四个纯虚函数,定义了制作饮品的通用流程。

2. 定义具体饮品类

- 定义 `Coffee` 类,继承自 `AbstractDrinking` 抽象类。

- 实现 `Boil()`、`Brew()`、`PourInCup()` 和 `PutSomething()` 四个纯虚函数,具体描述制作咖啡的步骤,如煮开水、冲泡咖啡、倒入杯中、加入糖和牛奶。

- 定义 `Tee` 类(可能拼写有误,应为 `Tea`),同样继承自 `AbstractDrinking` 抽象类。

- 实现 `Boil()`、`Brew()`、`PourInCup()` 和 `PutSomething()` 四个纯虚函数,具体描述制作茶的步骤,如煮开水、冲泡茶叶、倒入杯中、加入柠檬。

3. 定义工作函数

- 定义 `doWork()` 函数,该函数接受一个指向 `AbstractDrinking` 类的指针作为参数。

- 在函数内部调用 `makeDrink()` 函数制作饮品。

- 使用 `delete` 释放动态分配的内存,避免内存泄漏。

4. 定义测试函数

- 定义 `test01()` 函数,用于测试制作咖啡和茶的功能。

- 调用 `doWork()` 函数制作咖啡,并在制作完成后输出分隔线。

- 再次调用 `doWork()` 函数制作茶。

5. 主函数

- 在 `main()` 函数中调用 `test01()` 函数,启动测试流程。

- 返回 0 表示程序正常结束。 通过这种设计,代码实现了制作不同饮品的通用流程,同时利用多态性可以根据传入的具体饮品对象执行相应的制作步骤。

 代码实现:

#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 Coffee :public AbstractDrinking{public://煮水virtual void Boil(){cout << "煮开水" << endl;} //加入辅料virtual void Brew(){cout << "冲泡咖啡" << endl;} //倒入杯中 virtual void PourInCup(){cout << "倒入杯中" << endl;} //加入辅料virtual void PutSomething(){cout << "加入糖和牛奶" << endl;} 
};class Tee :public AbstractDrinking{public://煮水virtual void Boil(){cout << "煮开水" << endl;} //加入辅料virtual void Brew(){cout << "冲泡茶叶" << endl;} //倒入杯中 virtual void PourInCup(){cout << "倒入杯中" << endl;} //加入辅料virtual void PutSomething(){cout << "加入柠檬" << endl;} 
};void doWork(AbstractDrinking * abs){abs->makeDrink();delete abs;
}void test01(){doWork(new Coffee);cout << "-----------------" << endl;doWork(new Tee);
}int main(){test01();return 0;
} 

http://www.yayakq.cn/news/618347/

相关文章:

  • 沈阳seo网站管理帮客户做网站 没签合同咋办
  • 做网站需要多少带宽如何盗取网站
  • 乡村旅游网站建设wordpress换主题影响
  • 网站建设 费用wordpress添加注册页面模板
  • 网站备案 异地新闻软文怎么写
  • 做可视化的网站wordpress 段子模板
  • 网上房地产网站长春网站开发公司
  • 网站建设人员叫什么科目宁波网络推广公司价格
  • 定制网站开发蒙特php网站怎么做
  • 做理财的网站有哪些上海外贸学院
  • 云南做公司网站多少钱软件开发文档总结
  • 创建网站需要什么昆明网站建设 昆明光硕
  • 网站触屏版产品软文范例500字
  • 网站建设评审标准如何设计网站建设方案
  • 网站流量是怎么赚钱的自己开发网站怎么开发
  • 网站建设南昌中国工程预算网
  • 怎样搭建免费网站东莞旅游必去十大景点
  • 天涯重庆论坛seo优化招商
  • 网站设计建设有限公司开发网站建设设计公司
  • 江苏住房与城乡建设厅网站建设网站代理
  • 网站建设与O2O的应用网站背投广告代码
  • php网站开发说明文档凡科门店通
  • 搜索引擎网站优化推广云南网站建设维修公司
  • 云服务器怎么建立网站高端品牌网站建设方案
  • 住建局网站官网头像在线制作网站
  • 南充企业网站建设html代码分享
  • 西安公司网站费用wordpress多媒体
  • 北京seo推广外包下载班级优化大师并安装
  • 动画制作器玉林网站优化
  • 用dedecms织梦做中英文网站建德网站制作公司