C++函数有重载、覆盖和隐藏,隐藏容易与重载和覆盖混淆。
隐藏的规则如下:
(1)如果派生类的函数与基类的函数同名,但是参数不同。此时无论有没有virtual关键字,基类的函数都将被隐藏。(注意别与重载混淆)
(2)如果派生类的函数与基类的函数同名,而且参数相同,但是基类的函数没有virtual关键字,此时基类的函数将被隐藏。(注意别与覆盖混淆)
C++函数有重载、覆盖和隐藏,隐藏容易与重载和覆盖混淆。
隐藏的规则如下:
(1)如果派生类的函数与基类的函数同名,但是参数不同。此时无论有没有virtual关键字,基类的函数都将被隐藏。(注意别与重载混淆)
(2)如果派生类的函数与基类的函数同名,而且参数相同,但是基类的函数没有virtual关键字,此时基类的函数将被隐藏。(注意别与覆盖混淆)