靜態多型:過載 根據函式的引數個數和型別區分呼叫的函式。早繫結
動態多型:根據所指物件的虛函式表決定呼叫的函式。晚繫結
函式的覆蓋、過載、隱藏
成員函式被過載的特徵:
(1)相同的範圍(在同乙個類中)
;(2)函式名字相同;
(3)引數不同;
(4)virtual 關鍵字可有可無
覆蓋:派生類函式覆蓋基類函式,特徵是:
(1)不同的範圍(分別位於派生類與基類)
;(2)函式名字相同;
(3)引數相同
;(4)
基類函式必須有virtual 關鍵字
。隱藏:是指派生類的函式遮蔽了與其同名的基類函式,規則如下:
(1)如果派生類的函式與基類的
函式同名,但是引數不同
。此時,不論有無virtual關鍵字,基類的函式將被隱藏(
注意別與過載混淆)。
(2)如果派生類的函式與基類的
函式同名,並且引數也相同,但是基類函式沒有virtual關鍵字
。此時,基類的函式被隱藏(
注意別與覆蓋混淆)。
C 三大易混概念之覆蓋
覆蓋體現在c 類中,我們平時叫做重寫,比如重寫某某某的虛函式。虛函式 父類中加上了virtual關鍵字的成員方法 成員函式 叫做虛函式。嗯,此文章針對入門級學習者,大牛請繞道。一 覆蓋覆蓋的前提條件 被重寫的 父類函式 必須是虛函式。覆蓋 當子類中定義了乙個與父類完全一樣的虛函式時,就叫做子類重寫了...
C 三大易混概念之隱藏
隱藏 字面意思,把人或者物藏起來,不讓人發現,就是隱藏。程式中的隱藏也差不多,只不過不同的是,子類重定義父類。父類中的還是存在的。下面看乙個例子 初始化列表 預設傳值,這個值在你沒有呼叫有參建構函式時,會自動給程式賦值。初始化列表好處是提高了效率。因為初始化列表在程式啟動就開始初始化。初始化列表的適...
C 易混部分
void function int a,unsigned int n void function int p,unsigned int n int a 10 function a,10 int a 10 sizeof a 40 sizeof a 0 4char s 9 cpp prog 正確 cha...