天天看點

C/C++知識要點3——類成員函數的重載、覆寫和隐藏的差别

1、類成員函數的重載:

重載:假設同一作用域内的幾個函數名字同樣可是形參清單不同,我們稱之為重載。

成員函數被重載的特征:

(1)同樣的範圍(比方在同一個類中);

(2)函數名字同樣;

(3)參數不同。

(4)virtual keyword可有可無。

2、覆寫是指派生類函數覆寫基類函數。特征是:

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

(3)參數同樣;

(4)基類函數必須有virtual keyword。

3、隐藏是指派生類的函數屏蔽了與其同名的基類函數,規則例如以下:

(1)假設派生類的函數與基類的函數同名,可是參數不同。此時,不論有無virtualkeyword,基類的函數将被隐藏(注意别與重載混淆)。

(2)假設派生類的函數與基類的函數同名。而且參數也同樣,可是基類函數沒有virtual keyword。此時,基類的函數被隐藏(注意别與覆寫混淆)