c 繼承與派生

2021-07-22 02:22:24 字數 1021 閱讀 2813

一、基本概念

1、類的繼承,是新的類從已有類那裡得到已有的特性。或從已有類產生新類的過程就是類的派生。原有的類稱為基類或父類,產生的新類稱為派生類或子類。

2、派生類的宣告:

class 派生類名:繼承方式 基類名1, 繼承方式 基類名2,...,繼承方式 基類名n ;

3、乙個派生類可以同時有多個基類,這種情況稱為多重繼承,派生類只有乙個基類,稱為單繼承。直接派生,間接派生。

4、繼承方式規定了如何訪問基類繼承的成員。繼承方式有public, private, protected。如果不顯示給出繼承方式,預設為private繼承。繼承方式指定了派生類成員以及類外物件對於從基類繼承來的成員的訪問許可權。

5、派生類繼承基類中除構造和析構函式以外的所有成員。

6、派生類生成:

吸收基類成員(除構造析構函式以外的所有成員);

改造基類成員(根據繼承方式調整基類成員的訪問,函式在子類中的覆蓋,以及虛函式在子類中的覆蓋);

新增新的成員;

7、公有繼承

當類的繼承方式為公有繼承時,基類的公有和保護成員的訪問屬性在派生類中不變,而基類的私有成員不可訪問。即基類的公有成員和保護成員被繼承到派生類中仍作為派生類的公有成員和保護成員。派生類的其他成員可以直接訪問它們。無論派生類的成員還是派生類的物件都無法訪問基類的私有成員。

8、私有繼承

當類的繼承方式為私有繼承時,基類中的公有成員和保護成員都以私有成員身份出現在派生類中,而基類的私有成員在派生類中不可訪問。基類的公有成員和保護成員被繼承後作為派生類的私有成員,派生類的其他成員可以直接訪問它們,但是在類外部通過派生類的物件無法訪問。無論是派生類的成員還是通過派生類的物件,都無法訪問從基類繼承的私有成員。通過多次私有繼承後,對於基類的成員都會成為不可訪問。因此私有繼承比較少用。

9、保護繼承

保護繼承中,基類的公有成員和私有成員都以保護成員的身份出現在派生類中,而基類的私有成員不可訪問。派生類的其他成員可以直接訪問從基類繼承來的公有和保護成員,但是類外部通過派生類的物件無法訪問它們,無論派生類的成員還是派生類的物件,都無法訪問基類的私有成員。

C 繼承與派生

派生新類 吸收已有類的成員 調整已有類成員和新增新的成員 class 派生類名 繼承方式 基類名1,繼承方式 基類名2,派生類成員宣告 繼承方式有 public protected private 預設 公有繼承 基類的公有和保護乘員的訪問屬性在派生類中不變,基類的私有成員不能直接訪問 型別相容規則...

c 繼承與派生

繼承 與派生 一 派生方式的不同的表現 1 派生類在類內成員對基類成員 的訪問許可權 2 派生類的物件對基類成員的訪問許可權。二 公有繼承 1 基類protected和public的成員在派生類中訪問屬性保持不變 2 基類的private成員在派生類中不可訪問。3 派生類的成員 即派生類內 可以直接...

C 繼承與派生

1.什麼是繼承 在c 類中包含了若干個資料成員和成員函式,在不同的類中資料成員和成員函式是不相同的,但有時倆個類的內容基本相同或有一部分相同。例如 公馬 繼承了 馬 的全部特性,加上 雄性 的特性。白公馬 繼承了 公馬 的全部屬性。所以繼承是已存在類的基礎上建立乙個新的類。馬 為 基類 或 父類 而...