重载(overload)
在同一个类中,成员函数的函数名相同,但参数列表不同,就构成了重载。编译器根据调用时的参数决定到底调用哪一个重载函数。
覆盖/重写(override)
在继承关系中,基类定义了一个虚函数,派生类中定义了一个函数签名完全相同的虚函数,即函数名、参数列表、返回类型、const
修饰符等完全相同。则构成覆盖/重写,可以通过基类的引用或指针施行动态绑定。
隐藏(hide)
在继承关系中,基类有一个非虚函数,派生类中定义了一个同名的非虚函数,则构成了隐藏。即基类的该函数被隐藏了起来,无法直接通过 派生类对象.函数名()
调用,而是必须加上类的限定符 派生类对象.基类::函数名()
。