C++的繼承

一.構造和析構

在單繼承中,派生類的構造函數調用次序

1.調用基類的構造函數

2.調用內嵌成員對象(即該類中的成員變量是其他的類),調用順序按照他們在類中的定義的順序

3.派生類自己的構造函數


析構函數順序相反

在多繼承中:

1調用各基類的構造函數;各基類構造函數的調用順序按照基類被繼承時聲明的順序,從左向右執行

2.調用內勤成員對象的構造函數.調用順序按照他們在類中的定義的順序

3.調用派生類自己的構造函數

在多繼承中可能會出現二義性的問題,如類C繼承類A和類B,而在A和B中都有一個名字相同的方法叫做Show_Result.那麼,如果類C的對象調用這個方法就會出現二義性,不知道需要調用哪一個父類的該方法.解決方法:

1.使用成員名限定,例如要調用類A的方法 A::Show_Result,要調用類B的方法 B:Show_Result這樣就可以區分了.

2.在派生類中重寫這個函數,那麼在調用這個函數時,就會調用子類重寫的這個函數了.



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章