#include<iostream>
using namespace std;
class MakeCar
{
public:
virtual void MakeHead() = 0;
virtual void MakeBody() = 0;
virtual void MakeTail() = 0;
public:
virtual void Make()
{
MakeTail();
MakeHead();
MakeBody();
}
};
class MakeBMW :public MakeCar
{
public:
virtual void MakeHead()
{
cout << "Make BMW Head" << endl;
}
virtual void MakeBody()
{
cout << "Make BMW Body" << endl;
}
virtual void MakeTail()
{
cout << "Make BMW Tail" << endl;
}
};
class MakeJeep :public MakeCar
{
public:
virtual void MakeHead()
{
cout << "Make Jeep Head" << endl;
}
virtual void MakeBody()
{
cout << "Make Jeep Body" << endl;
}
virtual void MakeTail()
{
cout << "Make Jeep Tail" << endl;
}
};
void main()
{
MakeCar *car = NULL;
car = new MakeJeep();
car->Make();
delete car;
car = new MakeBMW();
car->Make();
delete car;
cout << "开始干活!" << endl;
}
运行结果;