C++中的覆蓋和隱藏

覆蓋:子類覆蓋父類函數

覆蓋的特徵是:

  • 分別位於子類和父類中
  • 函數名字和參數都相同
  • 父類的函數是虛函數 virtual

隱藏:子類隱藏了父類函數

隱藏的特徵是:

  • 子類的函數與父類的函數名字相同,但是參數不同,父類函數被隱藏
  • 子類的函數與父類的函數名字相同,參數也相同,但是父類沒有 virtual,父類被隱藏

總結

IF (子類函數與父類的函數名字相同,但是參數不同)
  父類函數被隱藏;
ELSE IF (子類函數與父類的函數名字相同 && 參數也相同 && 父類函數沒有 virtual)
  父類函數被隱藏;
ELSE IF (子類函數與父類的函數名字相同 && 參數也相同 && 父類函數沒有 virtual)
  父類函數被覆蓋;

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