一.成員函式被過載的特徵:(1)相同的範圍(在同乙個類中);
(2)函式名字相同;
(3)引數不同;
(4)virtual 關鍵字可有可無。
二.覆蓋是指派生類函式覆蓋基類函式,特徵是:
(1)不同的範圍(分別位於派生類與基類);
(2)函式名字相同;
(3)引數相同;
(4)基類函式必須有virtual 關鍵字。
三.「隱藏」是指派生類的函式遮蔽了與其同名的基類函式,規則如下:
(1)如果派生類的函式與基類的函式同名,但是引數不同。此時,不論有無virtual關鍵字,基類的函式將被隱藏(注意別與過載混淆)。
(2)如果派生類的函式與基類的函式同名,並且引數也相同,但是基類函式沒有virtual 關鍵字。此時,基類的函式被隱藏(注意別與覆蓋混淆).
總的來說,簡單可以記為:
在同乙個類中,函式名字相同,引數不同的,為過載。
在基類中有乙個virtual函式,在派生類中有乙個與其同名同引數的函式,即為覆蓋。
在派生類中有與基類的同名的函式,且與覆蓋不同就是隱藏。
C 中的函式過載 覆蓋與隱藏
在c 語言中,函式扮演著很重要的角色,不管面向過程設計,還是基於物件設計 不管是物件導向程式設計,還是基於泛型程式設計,函式都可以隨處而見。在談論c 中的函式過載 覆蓋和隱藏之前,先回顧下函式的基礎知識。函式的宣告包括函式的返回值型別,函式名稱,引數列表 引數的型別 引數的個數 引數的順序 例如,宣...
C 中的函式過載 覆蓋與隱藏
在c 語言中,函式扮演著很重要的角色,不管面向過程設計,還是基於物件設計 不管是物件導向程式設計,還是基於泛型程式設計,函式都可以隨處而見。在談論c 中的函式過載 覆蓋和隱藏之前,先回顧下函式的基礎知識。函式的宣告包括函式的返回值型別,函式名稱,引數列表 引數的型別 引數的個數 引數的順序 例如,宣...
C 中成員函式的過載 覆蓋與隱藏
首先闡述一下各自的定義 一 過載 1 範圍相同 在同乙個類裡,不能跨類 2 函式名字相同。3 引數不同。4 virtual 關鍵字可有可無。二 覆蓋 1 範圍不同 派生類與基類 2 函式名相同。3 引數相同。4 基類必須有 virtual 關鍵字。三 隱藏 隱藏分兩種情況 1 1 範圍不同 派生類與...