關於C 多型的學習

2021-07-25 12:43:39 字數 413 閱讀 2085

父類virtual type funcname(arg);

子類type funcname(arg);

type funcname arg完全一致就算子類重寫了。覆蓋了基類的func。

還可以 子類直接寫個override  

example : 

type funcname(arg) override;這個是c++11的,需要編譯器支援

父類中virtual type funcname(arg) =0;是純虛函式

繼承的時候用virtual public就是把基類宣告為虛擬的,繼承基類的乙份拷貝。這時候是虛繼承 這個公共基類是虛基類。

總結一下:

過載 同乙個類,函式名相同, 引數不同。

重寫 就要基類有virtual關鍵字 子類不一定有 函式名一致,引數一致。

關於C 多型的學習講解

基於vs2017編譯器環境下 c 的三大特性 封裝,繼承,態多下面我們看多型的英文什麼 多型概念 多型從字面的意思就是 多種狀態 但是在c 中,多型有著更廣泛的含義。從圖中,可看出,多型分為靜態多型和動態多型,靜態多型中,還分有函式過載和泛型程式設計動態多型就是有虛函式靜態多型 靜態多型是編譯器在編...

C 學習筆記之多型 多型的學習 多型學習

c 學習筆記之多型 多型的學習 多型學習 多型分為兩類 靜態多型 函式過載和運算子過載屬於靜態多型,復用函式名 動態多型 派生類和虛函式實現執行時多型 靜態多型和動態多型的區別 靜態多型的函式位址早繫結 編譯階段確定函式位址 動態多型的函式位址晚繫結 執行階段確定函式位址 動態多型滿足條件 動態多型...

關於C 多型的思考

c 中,可以如下定義 base father new derived father 是基類引用,指向子類物件,這一點有點類似c 該引用的使用模式如下 先說結論 測試 如下 using logging class base public virtual void show2 public void m...