#include
class
a
};
class
b:
public
a
;
};
class
c:
public
b
};
void
print(a a)
void
main(
void
)
//總結:
/*子類繼承父類,父類的虛函式被子類的所重寫。
基類物件呼叫它的函式,執行基類的函式。子類物件呼叫它的函式(過載父類的),執行子類的函式。
乙個基類指標,指向基類物件,通過指標呼叫函式,執行其基類自身的函式。乙個基類指標,指向子類物件,通過指標呼叫函式,執行子類的函式。
乙個子類物件被傳入形參型別為基類的函式中,所執行的函式,呼叫的是基類的函式。*/
出處:
張東公升
虛繼承和虛函式繼承
虛繼承主要用於菱形 形式的繼承形式 虛繼承是為了在多繼承的時候避免引發歧義,比如類 有個就是a,繼承了 c也繼承了 當 多繼承 時,就會有歧義產生了,所以要使用虛擬繼承避免重複拷貝。虛函式繼承是解決多型性的,當用基類指標指向派生類物件的時候,基類指標呼叫虛函式的時候會自動呼叫派生類的虛函式,這就是多...
C 中類繼承和虛函式
1.類繼承的書寫格式 class classname access label base class access label 是public protected 或private base class 是基類或父類。classname 是派生類或子類。2.虛函式 在c 中,基類中定義為 virtu...
虛繼承和虛基類
虛繼承主要解決在多重繼承中的菱形繼承問題,也就是說 b和c類同時繼承了a類,然後d類繼承了b,c類,那麼d類的虛表就會有重複的函式指標。include using namespace std 虛基類 class person person person string name name name e...