c 學習筆記( )繼承與多型

2021-09-02 22:24:04 字數 988 閱讀 9203

1.繼承的作用:**復用

2.派生類繼承基類的什麼東西:

除了基類的構造和析構函式以外的所有成員

3.public: 任意位置都可以訪問

protected: 本類類中,子類類中訪問

private: 本類類中訪問

基類中不同的訪問限定符下的成員以不同的繼承方式在派生類中的訪問限定

public  protected   private

public

public   protected   不可見

protected

protected   protected   不可見

private

private   private  不可見

基類的私有成員繼承了但是屬性是不可見的

4.派生類物件的構造和析構方式

1.派生類 1.基類部分 2.派生類部分

構造 先基類部分 後派生類部分

5.類和類的關係

組合 a part of has_a

繼承 a kind of is_a

** :容器介面卡,通過表層限制底層介面

6.同名函式的關係

1.函式過載

2.隱藏

1.繼承關係 基類和派生類同名的方法 不同作用域

派生類中的同名函式隱藏了基類的所有同名函式

3.覆蓋

1.繼承關係 基類和派生類同名同參的方法 不同作用域

派生類中同名同引數的虛函式會覆蓋基類同名同引數的虛函式

7.基類和派生類的相互指向或者引用

允許基類指標指向派生類物件

允許基類引用派生類物件

8.多型 ==》 介面復用

1.靜多型 //編譯期間 靜態繫結 早繫結

2.動多型 //執行期間 動態繫結 晚繫結

1.基類中的函式是虛函式,派生類中同名同參的函式也是虛函式

9.什麼情況會發生動多型的呼叫

1.指標或者引用呼叫虛函式

2.物件完整

C 學習筆記 繼承與多型

1 關於繼承 inheritance 的概念 在c 中有 has a 和 is a 的 兩個概念。1.1 has a 即為在乙個類定義中包含另乙個類的物件 class a class b 1.2 is a 即我們說的繼承 如下,b繼承a,a為基類,b為a的派生類,b繼承了a的所有資料成員和成員函式。...

C 之多型與繼承學習筆記

如果子類定義了與父類中原型相同的函式會發生什麼?例如class parent public void print cout i m parent.public void print cout i m child.使用時 child child child.print child.parent pri...

C 學習筆記(二) 繼承與多型

繼承 定義派生類要在類識別符號後面新增乙個冒號,接著新增基類名稱 如下 class person 定義基類person c 3.0 可以簡寫 public string gender private int age 不簡寫,新增正值判斷 public int age set public void ...