一、函数默认参数 在c++中,函数的形参列表的形参可以是有默认值的 语法: 返回值类型 函数名(参数 = 默认值...) { }; 示例: //无默认参数int func1(int a,int b) {return a + b;}//有默认参数in
一、函数默认参数
在c++中,函数的形参列表的形参可以是有默认值的
语法:返回值类型 函数名(参数 = 默认值...) { };
示例:
//无默认参数
int func1(int a,int b) {
return a + b;
}
//有默认参数
int func2(int a, int b = 10) {
return a + b;
}
int main() {
int a = 20;
int b = 30;
//调用无默认
cout << func1(a,b) << endl;
//调用有默认
cout << func2(a) << endl;
cout << func2(a,b) << endl;
system("pause");
return 0;
}
注意事项:
1、如果某个位置有了默认参数,那么这个位置之后的形参都需要有默认值
2、函数的声明和实现,只能有一个有默认参数
二、函数占位参数
C++中函数的形参列表可以有占位参数,用于占位,调用函数时,必须补全
语法:返回值类型 函数名(数据类型) { }
示例:
注意事项:
1、占位参数,可以有默认参数
2、可以看见占位参数可以传递,但是无法使用,现阶段意义不大,后续深入学习会用到。
三、函数重载
1、重载概述
作用:使函数名可以相同
满足条件:
1、同一个作用域下
2、函数名称相同
3、函数的参数列表需要不相同,可以是类型不同,或者个数不同,或者顺序不同
示例:
void func() {
cout << "func()调用" << endl;
}
//重载1
void func(int a,int b) {
cout << "func(int a,int b)调用" << endl;
}
//重载2
void func(double a, int b) {
cout << "func(double a, int b)调用" << endl;
}
//重载3
void func(int a,double b) {
cout << "func(int a,double b)调用" << endl;
}
int main() {
int a = 10;
int b = 20;
double c = 3.14;
//调用原函数
func();
//个数不同
func(a,b);
//顺序不同
func(a,b);
//类型不同
func(a,c);
system("pause");
return 0;
}
注意事项:
1、函数的返回值不可作为函数重载的条件
2、重载注意事项
1、引用作为重载对象
2、函数重载碰到函数默认参数
当函数重载碰到默认参数,出现二义性,报错,尽量避免这种情况
喜欢就点赞收藏吧~