C++进阶—>函数重载、重写、重定义的区别
来源:互联网 发布:qc qa 软件研发体系 编辑:程序博客网 时间:2024/06/05 17:42
函数重载(overload)
函数重载是指在一个类中声明多个名称相同但参数列表不同的函数,这些的参数可能个数或顺序,类型不同,但是不能靠返回类型来判断。特征是:
(1)相同的范围(在同一个作用域中);
(2)函数名字相同;
(3)参数不同;
(4)virtual 关键字可有可无(注:函数重载与有无virtual修饰无关);
(5)返回值可以不同;
函数重写(也称为覆盖 override)
函数重写是指子类重新定义基类的虚函数。特征是:
(1)不在同一个作用域(分别位于派生类与基类);
(2)函数名字相同;
(3)参数相同;
(4)基类函数必须有 virtual 关键字,不能有 static 。
(5)返回值相同,否则报错;
(6)重写函数的访问修饰符可以不同;
重定义(也称隐藏)
(1)不在同一个作用域(分别位于派生类与基类) ;
(2)函数名字相同;
(3)返回值可以不同;
(4)参数不同。此时,不论有无 virtual 关键字,基类的函数将被隐藏(注意别与重载以及覆盖混淆);
(5)参数相同,但是基类函数没有 virtual关键字。此时,基类的函数被隐藏(注意别与覆盖混淆);
例子
本文转自:http://blog.csdn.net/xiejingfa/article/details/48496593
阅读全文
1 0
- C++进阶—>函数重载、重写、重定义的区别
- [C++]函数的重载、重写和重定义的区别
- C++之函数重载、重写、重定义的区别
- C++函数重定义、重载、重写的区别
- C++函数重定义、重载、重写的区别
- 【C++拾遗】 C++函数重载、重写、重定义的区别
- 初识C++之函数重载、重写、重定义的区别
- C++_重载、重写和重定义的区别
- C++_重载、重写和重定义的区别
- 重写、重载和重定义的区别
- 重写、重载和重定义的区别
- C++重载,重写,重定义的区别
- c++重载,重写,重定义的区别???
- 函数重载重写重定义
- c++函数重载,重定义,重写,区别详解理解原理
- C++(多态实现原理)函数重写,重载,重定义
- 类成员函数中重载/重写(覆盖)/重定义(隐藏)的区别
- c++ 重载、重写(覆盖)以及重定义的区别:
- 文章标题
- Kafka 消息偏移量
- 如何自学Python?
- tomcat服务如何配置vue-router的history模式
- POJ
- C++进阶—>函数重载、重写、重定义的区别
- 第六周第二课--串
- 2017-10-12离线赛总结
- java泛型与c 语言之关系
- 论文投稿技巧方法
- 用JAVA写个简单的聊天室-单人版
- innobackupex备份恢复详解及详细增量备份及恢复脚本
- CSS3简单动画效果与使用列表制作菜单
- App Store 9月审核被拒的原因有哪些 ?