c++核心编程之函数的重载
目录
- 1.函数重载概述
- 2.函数重载的注意事项
1.函数重载概述
文章图片
?作用?:函数可以相同,提高复用性
【c++核心编程之函数的重载】?函数重载必须满足的条件?:
- 1?.同一个作用域下?
- 2.?函数名称相同?
- 3.函数?参数类型不同?或者?个数不同?或者?顺序不同?
完整代码示例:
// 函数重载的条件//1,在同一个作用域中//2,相同的返回值类型和函数名//3,函数的参数个数不同或者参数顺序不同或者参数类型不同void cunc(){cout << "func()函数的重载" << endl; }void func(int a){cout << "func(int a)函数的重载" << endl; }void fuc(double c){cout << "func(doube c )的调用" << endl; }void func(int a,double c){cout << "func(int a,double c)函数的调用" << endl; } //函数的返回值类型不能作为函数的重载//int func(int a,double c)//{//cout << "函数int func()的调用" << endl; //return 22; //}int main(){//func(3.33); //func(10,3.11); //func(210, 20); //func(10,20); system("pause"); }
输出结果:
文章图片
?注意:函数的返回值类型不能作为函数的重载?
int func(int a,double c){cout << "函数int func()的调用" << endl; return 22; }
输出会直接报错:
文章图片
?总结?:??函数的重载类似与汉语中的多音字,在不同的环境读不同的音,用不同的参数环境调用不同的功能??
2.函数重载的注意事项
- 引用做为重载条件
- 函数重载碰到函数默认参数
//函数重载的注意事项//1、引用作为函数参数void func(int &a){cout << "函数function(int a)的调用" << endl; }void func(const int& a){cout << "函数function(const int a)的调用" << endl; }//2、函数重载碰到默认参数void test(int a){cout << "函数test(int a)的调用" << endl; }void test(int a,int b=10){cout << "函数test(int a,int b)的调用" << endl; }int main(){//int a = 10; //func(a); //实际参数a变量可读可写,传入函数后走可读可写的函数//func(10); //实际参数10是常量 若走int &a=10; 不合法,引用无效;但能走const int &a=10;test(10, 20); //test(10); //错误,两个函数都能被调用。出现二义性。system("pause"); }
到此这篇关于c++核心编程之函数的重载的文章就介绍到这了,更多相关c++函数的重载内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- c++|c++ qt自定义搜索编辑框的实现方法
- vue核心原理剖析----数据绑定
- 前端面试总结|vue核心面试题(vue中模板编译原理)
- vue|Vue2响应式原理解析和实现
- Vue|Vue2的核心原理剖析
- LeetCode编程题解法汇总|力扣解法汇总653-两数之和 IV - 输入 BST
- mysql之常用函数(核心总结)
- C++自定义数据类型方法详情
- OpenCV|OpenCV在图像上画正弦曲线(c++)
- c++|有未经处理的异常: Microsoft C++ 异常: cv::Exception