First head 设计模式学习c++实现------模板方法模式(Template method pattern)
来源:互联网 发布:win10 10核优化 编辑:程序博客网 时间:2024/06/06 05:31
模板方法模式:
在一个方法中定义一个算法的骨架,而将一些步骤推迟到子类中。
/* * CaffeineBeverage.h * * Created on: Aug 16, 2017 * Author: gwwu */#ifndef CAFFEINEBEVERAGE_H_#define CAFFEINEBEVERAGE_H_#include <iostream>using namespace std;class CaffeineBeverage {public: void prepareRecipe(){ boilWater(); brew(); pourInCup(); addCondiments(); } virtual void brew() = 0; virtual void addCondiments() = 0; void boilWater() { cout << "Boiling water" << endl; } void pourInCup() { cout << "Pouring into cup" << endl; } virtual ~CaffeineBeverage() {}};class Tea : public CaffeineBeverage {public: void brew() { cout << "Steeping the tea" << endl; } void addCondiments() { cout << "Adding Lemon" << endl; }};class Coffee : public CaffeineBeverage {public: void brew() { cout << "Dripping Coffee through filter" << endl; } void addCondiments() { cout << "Adding Sugar and Milkl" << endl; }};#endif /* CAFFEINEBEVERAGE_H_ */
//============================================================================// Name : Template_method.cpp// Author : gwwu// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//============================================================================#include <iostream>using namespace std;#include "CaffeineBeverage.h"int main() { Tea tea; tea.prepareRecipe(); Coffee coffee; coffee.prepareRecipe(); return 0;}
运行结果:
阅读全文
0 0
- First head 设计模式学习c++实现------模板方法模式(Template method pattern)
- Head First 设计模式 (八) 模版方法模式(Template method pattern) C++实现
- Template Method-模板方法模式《Head First 设计模式》
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
- 设计模式(1)- 模板方法 Template Method Pattern
- 设计模式学习笔记---模板方法模式template method pattern(Java版)
- 模板方法模式(Template Method Pattern)
- 模板方法模式(Template Method Pattern)
- 模板方法模式(Template Method Pattern)
- 模板方法模式(Template Method Pattern)
- 模板方法模式(Template Method Pattern)
- 模板方法模式(Template Method Pattern)。
- 模板方法模式(Template Method Pattern)
- 模板方法模式(Template Method Pattern)-c++实现
- 设计模式 - Template Method Pattern(模板方法模式)
- 设计模式 - Template Method Pattern(模板方法模式)
- 设计模式19:Template Method Pattern (模板方法模式)
- 设计模式——模板方法模式【Template Method Pattern】
- 【DIY】制作一个刷卡进门装置
- 一个进程监控脚本程序 .
- 《我们走在大路上》
- js字符串处理
- C# WinForm发送Email邮件
- First head 设计模式学习c++实现------模板方法模式(Template method pattern)
- oracle中创建序列以及实际应用
- 树状数组--转
- [编程题] 疯狂队列
- Docker教程(二) Docker环境安装
- 杂七杂八话LTE(四十五):初识VoLTE
- 通过SQL语句(alter table)来增加、删除、修改字段
- R语言2——时间序列分析
- 【CUGBACM15级BC第19场 A】hdu 5108 Alexandra and Prime Numbers