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