再來回顧下繼承派生的語法。
繼承方式顯示有三種(public, protected, privatez),隱式預設private。所謂繼承方式,是指派生類對基類成員的訪問許可權控制。
派生類建構函式定義的一般格式如下:
派生類名(引數總表):基類名1(參數列1),...,基類名m(參數列m),成員物件名1(成員物件參數列1),...,成員物件名n(成員物件參數列n)
構造函式呼叫次序:
1.呼叫基類建構函式
2.呼叫內嵌成員物件的建構函式
3.派生類自己的建構函式
示例:
1 #include 2using
namespace
std;34
classa 9
void
show()
12};
13class
b 18
void
show()
21};
22class c: public a, publicb31
void
show()
36};
3738
intmain()
假若多個基類擁有相同名稱的成員x,而此時派生類去呼叫x,系統無法判斷去調哪個基類的x,由此產生二義性。解決方式可以是成員名限定(eg:a::show();)或者成員重定義(同名覆蓋,如上例的c::show())。
c 之繼承與派生
繼承 inheritance 可以理解為乙個類從另乙個類獲取成員變數和成員函式的過程。例如類 b 繼承於類 a,那麼 b 就擁有 a 的成員變數和成員函式。被繼承的類稱為父類或基類,繼承的類稱為子類或派生類。class 派生類名 繼承方式 基類名 繼承方式限定了基類成員在派生類中的訪問許可權,包括 ...
C 繼承與派生
派生新類 吸收已有類的成員 調整已有類成員和新增新的成員 class 派生類名 繼承方式 基類名1,繼承方式 基類名2,派生類成員宣告 繼承方式有 public protected private 預設 公有繼承 基類的公有和保護乘員的訪問屬性在派生類中不變,基類的私有成員不能直接訪問 型別相容規則...
c 繼承與派生
繼承 與派生 一 派生方式的不同的表現 1 派生類在類內成員對基類成員 的訪問許可權 2 派生類的物件對基類成員的訪問許可權。二 公有繼承 1 基類protected和public的成員在派生類中訪問屬性保持不變 2 基類的private成員在派生類中不可訪問。3 派生類的成員 即派生類內 可以直接...