c++中的高级函数里的形参可以有自己的默认值
语法:返回数据类型 函数名 (形参=默认值)
高级函数中的默认参数
定义一个高级函数add,形参b和形参c都有自己的默认值(因为定义形参默认值的时候规定如果某个位置的形参有默认值,那么从这个形参开始往后的形参都要有默认值。)
int add(int a ,int b = 20,int c = 3) {
return a + b + c;
}
调用函数add,
运行结果为
调用函数add不传参数的时候就会使用形参的默认值
运行结果
高级函数的声明和实现声明一个高级函数并给参数设置默认值
//声明一个函数 int add1(int a = 10, int b = 20);
实现声明的高级函数
//实现一个函数
int add1(int a , int b ) {
return a + b;
}
可以看到在函数的声明和实现的时候,仅在声明函数的时候给形参设置了默认值,在实现的时候没有设置默认值
调用函数
cout << add1(1, 2) << endl; cout << add1() << endl;
运行结果为
综上所述,高级函数中的默认参数有两点注意事项
- 如果某个位置的参数有默认值,那么从这个位置往后,所有的参数都要有默认值
- 如果函数声明的时候参数有默认值那么在函数实现的时候就不可以有默认值了
函数中的占位参数
语法:返回值类型 函数名(数据类型)
c++的函数参数里面可以存在占位参数,但是调用函数的时候必须要把占位参数补上
占位参数也可以有默认参数 因为占位参数是由默认值的,所以我们调用这个函数的时候没有传值也可以。
运行结果
函数重载
函数重载的作用:可以让函数名相同,提高复用性
函数重载需要满足的条件:1.在同一个作用域下 2.函数名称一样 3.函数参数不一样
示例
定义一个重载函数,函数名称都是a,一个有参数一个没有参数
调用没有参数的函数,调用有参数的函数,起到一个区分的效果。
函数重载的注意事项
1.引用作为函数参数
2.避免重载函数碰到默认参数产生二义性



