概念:
函数:由函数名以及一组操作数类型唯一地表示。
函数原型:函数返回类型、函数名和形参列表
重载:出现在相同作用域的两个函数,有相同的名字而形参表不同。如果函数名和形参表相同,返回值不同报错。
重定义:在派生关系中,如果函数名相同,形参表表和返回值不全相同,称为重定义。
名字隐藏:如果派生类中重定义某函数,那基类中对应函数将被隐藏(即子类对基类中定义的函数版本不可见,包括所有重载函数)。
重写:在派生关系中,基类函数有virtual关键字,且函数名、形参表和返回值都相同。
协变、逆变和不变:通俗的讲,在派生关系中基类转化为派生类称为协变,反之称为逆变,相同则称为不变。
函数覆盖中形参表需相同,返回类型可以有差异,但可以协变,不能逆变。形成表相同返回值不同将报错。形参表不同则不是覆盖,基类虚函数被隐藏。