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;