C++函數的重載/覆蓋/隱藏

一.重載

    成員函數被重載的特徵:

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

    (2)函數名字相同;

    (3)參數不同;

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

二.覆蓋

    覆蓋是指派生類函數覆蓋基類函數,特徵是:

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

    (2)函數名相同;

    (3)參數相同;

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

三.隱藏

    隱藏是指派生類函數屏蔽了與其同名的基類函數,規則如下:

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

    (2)如果派生類的函數與基類的函數同名,而且參數相同,但是基類函數沒有virtua關鍵字。此時,基類的函數被隱藏(注意不要與覆蓋混淆)。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章