子類(派生類) 父類(基類)
1.子類擁有父類所有的成員.
2.protected 修飾的成員只能在本類和子類中訪問.
3.建立子類物件的時候,在子類物件中會為子類物件的字段開闢空間 也會為父類物件的所有字段開闢空間. 只不過父類私有的成員訪問不到而已。
4.子類從父類繼承父類所有的非私有成員.
5.base關鍵字可以呼叫父類的非私有成員.
6.子類的訪問級別不能比父類高.
7.建立子類物件的時候,1.呼叫子類的建構函式 2.呼叫父類的建構函式 3.執行父類的建構函式 4.執行子類的建構函式.
8.子類的建構函式後面預設加了1個 :base() 通過這個呼叫父類的無引數的建構函式.
9.如果父類沒有無引數的建構函式 將會報錯,因為子類的建構函式缺省會呼叫父類的無引數的建構函式.
10.使用base關鍵字可以顯示的指定子類構造函式呼叫父類有參的建構函式.
1. 為什麼要呼叫父類的建構函式
父類的建構函式會初始化父類屬性的值.
2. 為什麼優先於本類的建構函式執行.
續:
1. 繼承的好處:方便**管理. 子類可以擁有父類的非私有成員 為了多型.
2. 子類的建構函式.缺省會去呼叫父類的無引數的建構函式.
3. 顯示指定子類構造函式呼叫的父類建構函式 base
4. 建立子類物件的記憶體圖.
5. this 可以點出子類的所有成員和父類的非私有成員 base可以點出父類的非私有成員.
6 單根性 傳遞性
繼承 基類和派生類
說明派生類的生成和使用 include using namespace std class test1 基類 test1 int a x a void disp class test2 public test1 派生類 test2 int a,int b test1 a void disp intm...
C 隨筆 類繼承 派生類與基類
1 派生類會繼承基類的資料成員和部分方法成員,並將其加入派生類的相應區域 public private protected,取決於才去的繼承方式 之所以是部分方法成員,是因為有一些特殊的函式不會被繼承 建構函式 析構函式 賦值運算子函式等。public private protected區域的劃分只...
繼承 基類和派生類指標
1,直接用基類指標引用基類物件 2,直接用派生類指標引用派生類物件 3,用基類指標引用乙個派生類物件,由於派生類物件也是基類的物件,所以這種引用是安全的,但是只能引用基類成員。若試圖通過基類指標引用那些只在派生類中才有的成員,編譯器會報告語法錯誤。解決該問題的答案是虛函式和多型性 4,用派生類指標引...