C++. 重载 、 重写 、覆盖(隐藏). 区别和联系

重载:

即在同一类型作用域范围内,名称相同,参数类型、个数、顺序不同的成员函数在编译阶段确定具体调用哪一个函数。

重写:

对于类的继承来说,基类中的虚函数如果在派生类中有完全copy版本(即名称、参数完成相同的成员函数),则此种情况即成为对相应虚函数的重写。

注意override关键字的使用

隐藏:

首先对于virtual 成员函数来说,只有在参数不完全相同的情况下才是"覆盖", 否则就是重写。
在对于非virtual 成员函数来说,如果Derived class 中出现了同名函数,不管参数是否相同,都会隐藏基类中的同名函数。

基础不是万能的,但是没有基础是万万不能。

猜你喜欢

转载自blog.csdn.net/paradox_1_0/article/details/105934503