1. 程式人生 > >c++多繼承

c++多繼承

http 對象 類的成員 多繼承 顯示調用 不能 有一個 沒有 調用

1.多繼承二義性產生的原因:

子類同時繼承多個基類,而這些基類又有一個共同的基類,則導致在子類對象中調用父類成員時,調用不明確;即:二義性。

2.虛繼承能解決的而已情況:有共同老祖宗的能解決二義性,沒有共同老祖宗的不能用虛繼承解決二義性,只能顯示調用。eg:C c1;c1.B1::k這樣調用多繼承父類的成員。技術分享圖片

3.多繼承中使用多繼承會增加繼承子類的占用空間,因為調用了虛函數表,故:增加了4個字節的空間。

c++多繼承