C++之重载重写重定义
来源:互联网 发布:淘宝漫步者官方旗舰店 编辑:程序博客网 时间:2024/05/21 10:13
一 重载(overload)
概念:
函数有同样的名称,但是参数列表不相同的情形,这样的同名不同参数的函数之间,互相称之为重载函数。
基本条件:
- 函数名必须相同;
- 函数参数必须不相同,可以是参数类型或者参数个数不同;
- 函数返回值可以相同,也可以不相同;
注意:
- 只能通过不同的参数样式进行重载,例如:不同的参数类型,不同的参数个数,不同的参数顺序;
- 不能通过访问权限、返回类型、抛出的异常进行重载;
- 重载的函数应该在相同的作用域下
二 重写(override)
概念:
也称为覆盖,子类重新定义父类中有相同名称和参数的虚函数,主要在继承关系中出现。
基本条件:
- 重写的函数和被重写的函数必须为virtual函数,分别位于基类和派生类中;
- 重写的函数和被重写的函数函数名和函数参数必须一致;
- 重写的函数和被重写的函数返回值相同,或者都返回指针或引用,并且派生类虚函数所返回的指针或引用的类型是基类中被替换的虚函数所返回的,如果基类函数返回类型是void,而子类是int编译出错。
- 指针或引用的类型的子类型。
注意:
- 重写的函数所抛出的异常必须和被重写的函数所抛出的异常一致,或者是其子类;
- 重写的函数的访问修饰符可以不同于被重写的函数,如基类的virtual函数的修饰符为private,派生类改为public或protected也是可以的。
- 静态方法不能被重写,也就是static和virtual不能同时使用。
- 重写的函数可以带virtual关键字,也可以不带。
验证程序:
输出:
0 0
- C++之重载重写重定义
- 重载、重写、重定义
- 重写,重载,重定义
- 重写重载重定义
- 重载重写重定义
- 重写 重载 重定义
- 重载重写重定义
- 重写,重载,重定义
- 重载,重写,重定义
- 重载重写重定义
- 重载、重写与重定义
- 关于重载、重写、重定义
- c++重写、重载、重定义
- 重载重写与重定义
- C++重载,重写,重定义
- C++重载、重写、重定义
- C++重载重写重定义
- C++ 重载、重写、重定义
- 太用力的人跑不远
- An attempt by a client to checkout a Connection has timed out.
- Android开发之LayoutInflater的三种实例化方式
- 交换原理
- 影响网站流量的10个SEO优化点
- C++之重载重写重定义
- 三维重建学习之旅(三)相机标定之(2)张正友标定
- Oracle 用户,角色,权限的sql语句
- 正则表达式--------SED
- poj3122 二分基础题(注意连续实数的精度)
- R-FCN:基于区域的全卷积网络来检测物体
- sql注入我的理解和一个例子
- android studio 开发的sharesdk社会化分享
- String类型字段,hibernate报错,超出长度