缺省参数
缺省参数就是在声明函数的某个参数时,为之指定一个默认值,如果在调用该函数时,采用默认值,你就无需在指定该参数。
使用规则
调用该函数时,你只能从最后一参数开始进行省略,如果你要省略一个参数时,他后面所有参数必须全部省略。带缺省值的必须放在参数表的最后面,缺省值必须是常量。
缺省参数分为两类:一类是全缺省,一类是半缺省
全缺省:全缺省的所有参数都带默认值,在不传参的情况下,编译器默认参数列表中所有的默认值,如果传参传了一半,那么从左到右依次分配。
例如:
void Print(int a = 1, int b = 2, int c = 3)
{
cout << a << " " << b << " " << c << endl;
}
int main()
{
Print();
Print(10);
Print(10, 20);
Print(10, 20, 30);
system("pause");
return 0;
}
运行结果:
半缺省:必须在调用函数时传值(至少传一个),它才能运行。需要注意的是,半缺省参数的缺省只能从右往左缺省。
void Print(int a, int b = 2, int c )//这种写法是错误的,不符合从右到左
{
cout << a << " " << b << " " << c << endl;
}
对的半缺省
void Print(int a, int b = 2, int c = 3)
{
cout << a << " " << b << " " << c << endl;
}
void Print(int a, int b , int c = 3)
{
cout << a << " " << b << " " << c << endl;
}
C语言不支持