覆蓋:子類覆蓋父類函數
覆蓋的特徵是:
- 分別位於子類和父類中
- 函數名字和參數都相同
- 父類的函數是虛函數 virtual
隱藏:子類隱藏了父類函數
隱藏的特徵是:
- 子類的函數與父類的函數名字相同,但是參數不同,父類函數被隱藏
- 子類的函數與父類的函數名字相同,參數也相同,但是父類沒有 virtual,父類被隱藏
總結
IF (子類函數與父類的函數名字相同,但是參數不同)
父類函數被隱藏;
ELSE IF (子類函數與父類的函數名字相同 && 參數也相同 && 父類函數沒有 virtual)
父類函數被隱藏;
ELSE IF (子類函數與父類的函數名字相同 && 參數也相同 && 父類函數沒有 virtual)
父類函數被覆蓋;