1、默认参数
C++中可以在函数声明时为参数提供一个默认值
1、当函数调用时没有指定这个参数的值,编译器会自动用默认值代替,若填写参数则使用你填写的
void prinfa(int x = 3)
{
cout << "x=" << x << endl;
}
2、在默认参数规则 ,如果默认参数出现,那么右边的都必须有默认参数
void prinfa2(int m,int n,int x = 3,int y=4)
{
cout << "x=" << x << endl;
cout << "y=" << x << endl;
}
//void prinfa2(int m,int n,int x = 3,int y)这样是错误的
2、函数占位参数
1、占位参数只有参数类型声明,而没有参数名声明
2、一般情况下,在函数体内部无法使用占位参数
3、函数调用时,必须写够参数
void fun1(int a, int b, int )
{
cout << "a" << a << " b" << b << endl;
}
void main()
{
fun1(3, 4); //函数调用时,必须写够参数
fun1(3,4,5);
system("pause");
}
3 默认参数和占位参数
可以将占位参数与默认参数结合起来使用,意义:
1、为以后程序的扩展留下线索
2、兼容C语言程序中可能出现的不规范写法
如果默认参数和占位参数在一起,都能调用起来
int func2(int a, int b, int = 0)
{
return a + b;
}
void main()
{
//如果默认参数和占位参数在一起,都能调用起来
func2(1, 2);
func2(1, 2, 3);
system("pause");
}