23种设计模式之模板方法模式(行为型,1 Template Method,c++实现)

23种设计模式之模板方法模式(行为型,1 Template Method,c++实现)

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;

}