父類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...