C 中的函式過載 覆蓋與隱藏

2021-08-11 04:04:17 字數 589 閱讀 5639

一.成員函式被過載的特徵:

(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 範圍不同 派生類與...