天天看點

【非原創】C++類成員函數的重載、覆寫和隐藏

連結:https://www.nowcoder.com/questionTerminal/266d3a6d4f1b436aabf1eff3156fed95

來源:牛客網

題目:

類成員函數的重載、覆寫和隐藏差別描述正确的有?

A、覆寫是指在同一個類中名字相同,參數不同

B、重載是指派生類函數覆寫基類函數,函數相同,參數相同,基類函數必須有virtual關鍵字

C、派生類函數與基類函數相同,但是參數不同,會"隐藏"父類函數

D、函數名字相同,參數相同,基類無virtual關鍵字的派生類的函數會"隐藏"父類函數

答案:

CD

解析:

a.成員函數被重載的特征:

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

(2)函數名字相同;

(3)參數不同;

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

b.覆寫是指派生類函數覆寫基類函數,特征是:

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

(3)參數相同;

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

c.“隐藏”是指派生類的函數屏蔽了與其同名的基類函數,規則如下:

(1)如果派生類的函數與基類的函數同名,但是參數不同。此時,不論有無virtual關鍵字,基類的函數将被隐藏(注意别與重載混淆)。

(2)如果派生類的函數與基類的函數同名,并且參數也相同,但是基類函數沒有virtual關鍵字。此時,基類的函數被隐藏(注意别與覆寫混淆)。

『注:本文來自部落格園“小溪的部落格”,若非聲明均為原創内容,請勿用于商業用途,轉載請注明出處http://www.cnblogs.com/xiaoxi666/』

繼續閱讀