1.重载 overload:同作用域、同函数名、参数列表不同。
同函数名保证统一接口。返回值不同不能构成重载,因为在参数列表相同的情况下,编译器不知道调用哪一个函数。因此重载是靠形参提供支持的,包括不同的形参个数以及类型。
2.隐藏(重定义) overhide:在继承关系下的不同作用域中,子类中的同名函数隐藏了父类中所有的同名函数。隐藏后父类中同名函数无法访问,若要访问,加作用域。
3.覆盖(重写) override:继承关系下的不同作用域,函数名、返回值和形参都相同,并且都是虚函数。覆盖发生在虚表中。