【問題描述】
宣告乙個車(vehicle)基類,具有maxspeed,weight等成員變數,run,stop等成員函式,其中run函式輸出「run」,stop函式輸出「stop」。
並由此派生出自行車(bicycle)類,汽車(motorcar)類。自行車(bicycle)類有高度(height)等屬性,汽車(motorcar)類有座位數(seatnum)等屬性。
再從bicycle類和motorcar類派生出電單車(motocycle)類。
在繼承過程中,注意把vehicle設定為虛基類。如果不把vehicle設定為虛基類,會有什麼問題?程式設計試試看。主函式如下,請勿改動:
int main()
void
stop()
};class
bicycle
:virtual
public vehicle
;class
motorcar
:virtual
public vehicle
;class
motocycle
:public bicycle,
public motorcar
;int
main()
多重繼承 虛繼承與虛基類
一 多重繼承 單重繼承 乙個派生類最多只能有乙個基類 多重繼承 乙個派生類可以有多個基類 class 類名 繼承方式 基類1,繼承方式 基類2,派生類同時繼承多個基類的成員,更好的軟體重用 可能會有大量的二義性,多個基類中可能包含同名變數或函式 多重繼承中解決訪問歧義的方法 基類名 資料成員名 或成...
多重繼承與虛基類
多重繼承 multiple inheritance,mi 虛基類虛基類使得從多個類 它們的基類相同 派生出的物件只繼承乙個基類物件。通過使用關鍵字virtual。例如,可以使worker被用作singer和waiter的虛基類 virtual和public的次序無關緊要 class singer v...
虛基類與虛擬繼承
虛擬繼承 顧名思義就是繼承了但不給開闢空間 class b0 此段 中b0就是虛基類 public int m class b1 virtual public b0 b1虛擬繼承b0 public int n class b2 virtual public b0 b2虛擬繼承b0 public in...