重载的特征有:
1) 相同的范围(在同一个类中);
2) 函数名字相同;
3) 参数不同;
4) virtual关键字可有可无。
覆盖的特征有:
1) 不同的范围(分别位于派生类与基类);
2) 函数名字相同;
3) 参数相同;
4) 基类函数必须有virtual关键字。
隐藏(屏蔽)是指派生类的函数屏蔽了与其同名的基类函数,规则如下:
1) 如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(区别重载)
2) 如果派生类的函数与基类的函数同名,并且参数也相同,基类函数无virtual关键字,这时基类的函数被隐藏(区别覆盖)
派生类的作用域嵌套在基类作用域中,若派生类不需要重定义基类重载的各个版本,可以使用using声明,这时派生类只需要重定义某些特定的版本,而其他版本可以使用继承的定义