C C 車類的繼承與派生(虛基類)

2021-10-12 02:39:34 字數 627 閱讀 3396

【問題描述】

宣告乙個車(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...