11.5 重载、覆盖与隐藏
对类层次中的同名成员函数来说,有3种关系:重载(Overload)、覆盖(Override)和隐藏(Hide、Oversee),理清3种关系,有助于写出高质量的代码。
11.5.1 重载
重载的概念相对简单,只有在同一类定义中的同名成员函数才存在重载关系,主要特点是函数的参数类型和数目有所不同,但不能出现函数参数的个数和类型均相同,仅依靠返回值类型不同来区分的函数,这和普通函数的重载是完全一致的。另外,重载和成员函数是否是虚函数无关,举例如下所示。
class A { …… virtual int fun(); void fun(int); void fun(double,double); …… };
上述类A定义中的3个fun函数便是重载关系。