- 1.模板方法模式
- 2.图示
- 3.代码实现
- 4.运行截图
定义一个操作中算法的框架,而将一些步骤延迟到子类中来,
模板方法使子类可以不改变一个算法的结构即可以重新定义该算法的某些特定步骤。
#include4.运行截图#include #include using namespace std; class DrinkTemplate{ public: //煮水 virtual void BoildWator() = 0; //冲泡 virtual void Brew() = 0; //倒入杯中 virtual void PourInCup() = 0; //加辅助料 virtual void AddSomeThing() = 0; //模板方法 void Make() { BoildWator(); Brew(); PourInCup(); AddSomeThing(); } }; //冲泡咖啡 class Coffee:public DrinkTemplate { public: virtual void BoildWator() { cout<<"煮山泉水"< cout<<"冲泡咖啡"< cout<<"咖啡倒入杯中"< cout<<"加糖,加奶..."< public: virtual void BoildWator() { cout<<"煮山泉水"< cout<<"冲泡茶叶"< cout<<"茶水倒入杯中"< cout<<"加柠檬..."< { Tea* t_Tea = new Tea; t_Tea->Make(); delete t_Tea; t_Tea = nullptr; cout<<"-----------------"< Make(); delete t_Coffee; t_Coffee = nullptr; } system("pause"); return 0; }



