模板方法模式:是将步骤一样,而具体实现细节不一样的。在父类当中定义一个方法来实现这个算法。
C++代码实现:
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
class Drink {
public :
virtual void Boil() = 0;
virtual void Push() = 0;
virtual void PourInCup() = 0;
virtual void add() = 0;
void make() {
this->Boil();
this->Push();
this->PourInCup();
this->add();
}
};
class Tea : public Drink {
public :
virtual void Boil() {
cout<<"煮山泉水"<<endl;
}
virtual void Push() {
cout<<"倒入茶叶"<<endl;
}
virtual void PourInCup() {
cout<<"将水导入杯子中"<<endl;
}
virtual void add() {
cout<<"往杯中加入糖"<<endl;
}
};
void test() {
Tea* tea = new Tea();
tea->make();
}
int main() {
test();
return 0;
}