函數的重載,覆蓋和隱藏的區別

函數的重載,覆蓋和隱藏的區別
1)函數重載,相同的函數名,但是參數的類型,參數的個數,參數的順序不同的,稱爲函數重載。注意,僅返回值不同的不算是函數重載,主要應用於實現功能相似的幾個函數。

2)函數覆蓋,發生在子類和父類之間,如果子類的函數與父類的函數,名稱和參數完全相同,且基類函數必須使用virtual關鍵字修飾,則發生覆蓋。藉助於虛函數可以實現多態性。

3)函數隱藏,如果派生類函數與基類函數同名,但參數不同,此時,無論是否有virtual關鍵字,基類的所有同名函數都將被隱藏,而不會重載,因爲不在同一個類中;如果派生類函數與基類函數同名,且參數也相同,但基類函數沒有用virtual關鍵字聲明,則基類的所有同名函數都將被隱藏,而不會覆蓋,因爲沒有聲明爲虛函數。
具體可參考這篇文章的第4點

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