上QQ阅读APP看书,第一时间看更新
1.1 类方法
本章的内容从小码路买的第一辆汽车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;