重载
翻译⾃
overload
,是指同⼀可访问区内被声明的⼏个具有不同参数列表的同名函数,依赖于
C++
函数名字的修饰
会将参数加在后⾯,可以是参数类型,个数,顺序的不同。根据参数列表决定调⽤哪个函数,重载不关⼼函数的返 回类型。
重写
翻译⾃
override
,派⽣类中重新定义⽗类中除了函数体外完全相同的虚函数,注意被重写的函数不能是
static
的,
⼀定要是虚函数,且其他⼀定要完全相同。要注意,重写和被重写的函数是在不同的类当中的,重写函数的访问修 饰符是可以不同的,尽管 virtual
中是
private
的,派⽣类中重写可以改为
public
。
重定义(隐藏)
派⽣类重新定义⽗类中相同名字的⾮
virtual
函数,参数列表 和返回类型都可以不同,即⽗类中除了定义成 virtual
且完全相同的同名函数才 不会被派⽣类中的同名函数所隐藏(重定义)。