非原創 C 類成員函式的過載 覆蓋和隱藏

2022-01-10 08:55:16 字數 929 閱讀 8947

題目

類成員函式的過載、覆蓋和隱藏區別描述正確的有?

a、覆蓋是指在同乙個類中名字相同,引數不同

b、過載是指派生類函式覆蓋基類函式,函式相同,引數相同,基類函式必須有virtual關鍵字

c、派生類函式與基類函式相同,但是引數不同,會"隱藏"父類函式

d、函式名字相同,引數相同,基類無virtual關鍵字的派生類的函式會"隱藏"父類函式

答案

cd解析

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

(1)相同的範圍(在同乙個類中);

(2)函式名字相同;

(3)引數不同;

(4)virtual 關鍵字可有可無。

b.覆蓋是指派生類函式覆蓋基類函式,特徵是:

(1)不同的範圍(分別位於派生類與基類);

(2)函式名字相同;

(3)引數相同;

(4)基類函式必須有virtual 關鍵字。

c.「隱藏」是指派生類的函式遮蔽了與其同名的基類函式,規則如下:

(1)如果派生類的函式與基類的函式同名,但是引數不同。此時,不論有無virtual關鍵字,基類的函式將被隱藏(注意別與過載混淆)。

(2)如果派生類的函式與基類的函式同名,並且引數也相同,但是基類函式沒有virtual關鍵字。此時,基類的函式被隱藏(注意別與覆蓋混淆)。

C 類成員函式的過載 覆蓋和隱藏區別?

c 類成員函式的過載 覆蓋和隱藏區別?a.成員函式被過載的特徵 1 相同的範圍 在同乙個類中 2 函式名字相同 3 引數不同 4 virtual 關鍵字可有可無。b.覆蓋是指派生類函式覆蓋基類函式,特徵是 1 不同的範圍 分別位於派生類與基類 2 函式名字相同 3 引數相同 4 基類函式必須有vir...

C 成員函式的過載 覆蓋和隱藏

我們在學習c 中總會有很多概念容易搞混,其中成員函式的過載 覆蓋和隱藏這三個概念就經常讓很多人頭大。下面我們就來介紹一下這三個的區別 成員函式被過載的條件是 1 相同的範圍也就是要在同乙個類中 2 函式名字相同 3 引數不同 這裡包括引數型別,引數的順序,引數的個數 4 virtual關鍵字可有可無...

C 類成員函式的過載 覆蓋與隱藏

1.過載 覆蓋與隱藏 1 過載 成員函式具有以下的特徵時發生 過載 a 相同的範圍 同乙個類中 b 函式的名字相同 c 引數型別不同 不能進行隱式型別轉換 d virtual關鍵字可有可無 2 覆蓋 也叫 繼承 指派生類函式覆蓋基類函式,特徵是 a 不同的範圍 分別位於基類與派生類中 b 函式名字相...