C++中函数是可以给默认参数的
注意点:
(1)一旦某个参数设置为默认参数,那跟着后面的所有参数都必须设置默认参数
(2)函数的声明和定义只能有一个可以设置默认参数,两个都设置会报错
int f1(int a = 1, int b = 2); //声明设置默认参数
int f2(int a, int b) //定义不设置默认参数
{
return a+b;
}
int f3(int a, int b = 2) //b给了默认参数
{
return a+b;
}
main()
{
int i = f3(10); //12,本来函数需要传两个参数,但因为函数有了一个默认参数,现在只需要传一个参数即可。
int j = f3(10, 20); //30,b传了参数20,这时会把默认参数2覆盖
}
占位函数:
int f(int i, int)
{
return i;
}
本身函数只需要输入一个参数即可,但有个占位参数int,所以函数在传参的时候需要填补一个int型的占位参数,并且占位参数也可以设置为默认参数,如:int f(int i, int = 10){…}