C++函数中参数的使用及函数的重载
2022/1/8 11:04:12
本文主要是介绍C++函数中参数的使用及函数的重载,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.函数的默认参数
//如果b有了默认值,其后面的变量都要有默认值
int fun(int a, int b=10, int c=15) { return a + b + c; }
//声明和定义只能一个里面写默认值。否则,当声明和定义里的默认参数不一样,会产生歧义。
int fun2(int a, int b = 100); int fun2(int a, int b ) { return a + b; }
2.//函数的占位参数
fun3里的int就是。占位参数也可以有默认值int =100
void fun3(int a,int) { cout << "函数的占位参数" << endl; } fun3(1,2); //赋给相应类型的值即可
3.//引用作为函数参数
第一个不加const的,里面得是个变量,第二个加上了const,里面赋给的要是常量。
void f1(int &a) { cout << "f1(int &a)被调用了" << endl; } int a = 100; f1(a); //f1(int &a)被调用了
void f1(const int& a) { cout << "f1(const int &a)被调用了" << endl; } f1(10); //f1(const int &a)被调用了
4.函数的重载
条件:
-参数个数不同-参数类型不同-参数个数不同
函数名称相同
函数的作用域相同
int add(int a, int b) { return a + b; } int add(int a, int b,int c) { return a + b+c; } float add(float a, float b) { return a + b; } cout << add(1, 2)<< endl; cout << add(1, 2,3) << endl; cout << add(1.1, 2.2) << endl;
*函数的返回值类型不同,不能作为函数重载的条件。
float add(float a, float b) { return a + b; } int add(float a, float b) { return a + b; } //这样会报错,无法重载仅按返回类型区分的函数
5.函数重载中碰到函数默认参数,容易引发歧义
void fun(int a, int b = 10) { cout << "有默认参数的函数被调用了" << endl; } void fun(int a) { cout << "无默认参数的函数被调用了" << endl; } fun(2022); //会报错。不知道调用的是哪个
这篇关于C++函数中参数的使用及函数的重载的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04el-table 开启定时器下,表格的选中状态会消失是什么原因-icode9专业技术文章分享
- 2024-10-03如何安装和初始化飞牛私有云 fnOS?-icode9专业技术文章分享
- 2024-10-03如何安装 App 并连接到飞牛 NAS?-icode9专业技术文章分享
- 2024-10-03如何安装飞牛 TV 并连接到影视服务器?-icode9专业技术文章分享
- 2024-10-03如何在PVE和ESXI上安装飞牛私有云 fnOS?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS安装系统异常情况处理-icode9专业技术文章分享
- 2024-10-03飞牛NAS如何创建存储空间?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS硬盘会自动休眠吗?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS如何安装飞牛影视和创建媒体库?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS如何为家人朋友开通影视账号?-icode9专业技术文章分享