重载、成员函数的覆盖、成员函数的隐藏
● 重载。
重载主要运算包括运算符重载和函数重载。
函数重载通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对程序的可读性有很大的好处。
运算符重载主要是对已有的运算符赋予多重含义,使同一种运算符作用于不同类型的数据时导致不同的行为。三目运算符不能重载。
比如:实现复数的相加,复数的和是实数和实数相加,虚数和虚数的相加。
可以将“+”重载为成员函数,然后实现两个复数类对象的相加。
函数重载是通过其参数个数和类型的不同来实现不同的操作。
● 成员函数的覆盖:
覆盖是指在派生类中成员函数覆盖了基类中的同名函数,要求基类的同名函数必须是虚函数
且参数相同(类型和个数相同),返回类型相同。
● 成员函数的隐藏:
隐藏是指在某种情况下,派生类中成员函数屏蔽了基类中的同名函数,这种情况包括:
(1)两个函数参数相同,但基类函数不是虚函数。和覆盖的区别在于基类函数是否为虚函数。
(2)两个函数的参数不同,无论基类函数是否为虚函数,基类函数都会被屏蔽。