C++中覆盖、重载、隐藏的概念

简介: 成员函数的重载,覆盖(改写)和隐藏成员函数被重载的特征是:1、具有相同的作用域,即在同一个类申明中。2、返回值相同,函数的参数不同。3、同名const方法和非const方法之间的重载不受到2的约束,同类重载受到2的约束。
成员函数的重载,覆盖(改写)和隐藏

成员函数被重载的特征是:

1、具有相同的作用域,即在同一个类申明中。

2、返回值相同,函数的参数不同。

3、同名const方法和非const方法之间的重载不受到2的约束,同类重载受到2的约束。

4、不需要virutal 关键字。

覆盖(也叫做多态)或者改写是指派生类重新实现或者改写了基类的成员函数,其特征是:

1、不同的作用域(分别位于派生类和基类中)。

2、函数名称相同。

3、函数的参数也完全相同。

4、基类必须有virtual关键字,子类则可有可无。

5、若虚函数存在重载的情况,遵循基类而不遵循子类。

6、构造函数中虚函数无效,总是调用本类型方法不会调用覆盖方法。

隐藏

1、不同的作用域(分别位于派生类和基类)。

2、函数名称相同。

3、函数的参数也完全相同。

4、不需要virtual关键字。

5、总是调用引用类型对应的方法。

相关文章
|
1月前
|
算法 编译器 C++
【C++ 概念区分】C++ 中覆盖,重写,隐藏 三者的区别
【C++ 概念区分】C++ 中覆盖,重写,隐藏 三者的区别
19 0
|
3月前
|
网络协议 C++
一文彻底解决C++中的重载、重写和隐藏操作
一文彻底解决C++中的重载、重写和隐藏操作
56 0
|
8月前
方法的重载和方法覆盖的区别
方法的重载和方法覆盖的区别
34 0
|
10月前
|
编译器 C++
C++ :类 和 对象 ※重点※(二)
C++ :类 和 对象 ※重点※(二)
51 0
|
10月前
|
编译器 C++
C++ :类 和 对象 ※重点※(一)
C++ :类 和 对象 ※重点※
33 0
|
10月前
|
Java 编译器
深入探索: 对象构造的隐藏功能与技巧
深入探索: 对象构造的隐藏功能与技巧
74 0
C++ 继承与派生中的赋值兼容规则问题探究
C++ 继承与派生中的赋值兼容规则问题探究
133 0
C++ 继承与派生中的赋值兼容规则问题探究
覆盖(重写),重构,重载的区别
1:重构: 重构, 是对软计设计方法的描述, 这个层面是架构和设计方法,例如有一个文档一开始叫做:names.txt,过几天你发现这个文档的名字怎么看怎么不顺眼,就是想改名字,这可以叫做是重构。 重构是一个软件维护的通用技巧, 重构的具体做法, 可以通过重写或者重载等, 但不限于此, 更改注释, 更改函数名类名等,都可以称之为重构,重构的目的是为了让软件容易维护, 修改其Bug等.
1198 0