本章的内容从小码路买的第一辆汽车DZ说起。DZ由引擎提供动力,假设引擎是不会坏的。汽车行驶两年后,轮胎轻微变形,这时小码路想给汽车换一套新的轮胎,于是一个汽车类就产生了。
//汽车类
class Car
{
public:
Car(string en):engineName(en){}
void SetCommonEngine(){cout<<"commonEngine is: "<< engineName<<endl;}
virtual string SetDiffTire(string tire)=0;
protected:
string engineName;
};
DZ的原装“miqilin”轮胎质量相当好。可是小码路买了车之后,生活拮据,所以准备换相对便宜的“weichai”轮胎。小码路考虑到两年后又要为DZ换轮胎,所以上面程序中提供的轮胎接口SetDiffTire(string tire)就显得相当重要了,改写后的程序如下。
//DZ继承自汽车类
class DZ:public Car
{
public:
DZ(string en):Car(en){}
string SetDiffTire(string tire)
{
return tire;
}
};
Car *car=new DZ("weichai");
car->SetCommonEngine();
cout<<car->SetDiffTire("miqilin")<<endl;
cout<<car->SetDiffTire("weichai")<<endl;
delete car;