23种设计模式之模板方法模式(行为型,1 Template Method,c++实现)
#include <iostream>
using namespace std;
class MakeCar
{
public:
virtual void makeHead() = 0;
virtual void makeBody() = 0;
virtual void makeTail() = 0;
public:
void make()
{
makeTail();
makeBody();
makeHead();
}
};
class MakeJeep : public MakeCar
{
public:
virtual void makeHead()
{
cout << "jeep head " << endl;
}
virtual void makeBody()
{
cout << "jeep body " << endl;
}
virtual void makeTail()
{
cout << "jeep tail " << endl;
}
};
class MakeBus : public MakeCar
{
public:
virtual void makeHead()
{
cout << "bus head " << endl;
}
virtual void makeBody()
{
cout << "bus body " << endl;
}
virtual void makeTail()
{
cout << "bus tail " << endl;
}
};
void main()
{
MakeCar* makeCar = new MakeJeep;
makeCar->make();
delete makeCar;
}