
#include<iostream>
using namespace std;
class DrinkTemplate
{
public:
virtual void BoildWater() = 0; // 煮水
virtual void Brew() = 0; // 冲泡
virtual void PourInCup() = 0; // 倒入杯中
virtual void AddSomething() = 0; // 加辅助料
// 模板方法
void Make()
{
BoildWater();
Brew();
PourInCup();
AddSomething();
}
};
class Coffee :public DrinkTemplate
{
public:
virtual void BoildWater()
{
cout << "煮山泉水..." << endl;
}
virtual void Brew()
{
cout << "冲泡咖啡..." << endl;
}
virtual void PourInCup()
{
cout << "咖啡倒入杯中..." << endl;
}
virtual void AddSomething()
{
cout << "加糖,加牛奶" << endl;
}
};
void test01()
{
Coffee* coeff = new Coffee;
coeff->Make();
}
int main()
{
test01();
system("pause");
}
相关文章: