類的繼承與派生

2021-09-24 16:27:40 字數 1021 閱讀 1119

1.基類與派生類

(1)繼承語法形式:

class 派生類名:基類名錶

資料成員和成員函式宣告

基類類名錶構成:

訪問控制 基類名

訪問控制有三種無論哪種型別都不能直接訪問基類私有成員。

2.生成派生類的過程

(1)吸收基類成員(構造和析構函式除外,不一定可見)

(2)改造基類成員(根據派生類成員函式,覆蓋基類)

(3)新增派生類新成員

3.重名成員

派生類中定義與基類同名成員,遮蔽基類成員,如在派生類中使用基類同名成員,顯式地使用類名限定符

形式   類名:成員
4.基類初始化

在建立派生類物件時,用指定引數呼叫基類的建構函式,初始化派生類繼承基類的資料。

形式 派生類建構函式 ( 變元表 ) : 基類 ( 變元表 ) , 物件成員1( 變元表 )…;

建構函式順序:基類 物件成員 派生類

基類可以定義乙個無參的建構函式。

注:派生類建構函式析構函式使用原則:

(1)基類的建構函式和析構函式不能被繼承

(2)如果基類沒有定義建構函式或有無參的建構函式, 派生類也可以不用定義建構函式

(3)如果基類沒有無參的建構函式,派生類必須定義建構函式

(4)如果派生類的基類也是派生類,則每個派生類只負責最近的基類的構造

(5)派生類是否定義析構函式與所屬的基類無關

派生類析構函式執行順序問題

(1)當派生類中不含物件成員時

建構函式的執行順序是 基類 派生類;

析構函式的執行順序是 派生類→基類。

(2)當派生類中含有物件成員時

建構函式的執行順序 基類→物件成員→派生類;

析構函式的執行順序 派生類→物件成員→基類;

總結繼承的使用可以簡便程式,可以減少**的重複書寫,使用的關鍵在於正確的找出2個類或者幾個類之間相同的部分,找到重複的內容作為乙個基類來單獨定義,在別的需要用到這個功能的地方直接呼叫,避免多次書寫。多繼承不建議使用。

類繼承與派生

繼承 1.在已有類的基礎上新增功能。2.新增資料。在派生類中新增指定字元。3.修改類方法的行為。派生 classa class b public a 一 說明 a是乙個公有基類 公有派生 則a.a的公有成員 成為b 的公有成員 b.a的 私有部分成為b 的一部分,但只能通過 a的公有和保護方法訪問。...

類的繼承與派生

類的繼承與派生 一 派生類生成過程 1 吸收基類成員。2 改造基類成員。3 擴充基類成員。在類的派生中,建構函式和析構函式不能被派生。派生類繼承了基類的全部資料成員和除了構造,析構之外的全部函式 成員。二 類的繼承方式有共有繼承 保護繼承 私有繼承三種 1 公有繼承。基類的公有和保護成員的訪問屬性在...

類的繼承與派生

儘管在派生類物件中含有從基類繼承而來的成員,但派生類並不能直接初始化這些成員,必須使用基類的建構函式來初始化它的基類成員。初始化順序 先初始化基類成員,在初始化自己新增成員。派生類可以訪問基類的公有成員和受保護成員。類的作用域分辨符。我們可以將基類的指標或引用繫結到派生類物件上,但反過來不行,不存在...