缺省参数的定义
缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数的时候,如果没有指定实参,则采用该形参的缺省值,否则使用指定的实参。
void Func(int a = 0)
{cout << a << endl;
}
int main()
{ Func();Func(2);return 0;
}
缺省参数的分类
全缺省参数
给值时,只能按照从左往右赋值。
void Func(int a = 10, int b = 20, int c = 30)
{cout << "a = " << a << " ";cout << "b = " << b << " ";cout << "c = " << c << endl;
}
int main()
{Func();Func(1); //传一个实参时,默认给第一个形参(a)Func(1,2); //传两个实参,默认给前两个形参(a,b)Func(1,2,3);
}
半缺省参数
void Func(int a, int b = 10, int c = 20)
{cout << "a = " << a << " ";cout << "b = " << b << " ";cout << "c = " << c << endl;
}
int main()
{Func(1);Func(1,2);Func(1,2,3);
}
注意:
1.半缺省参数必须从右往左依次来给出,不能间隔着给。(如Func(int a = 10, int b, int c = 20))
2.缺省参数不能在函数声明和定义中同时出现。(一般声明给,定义不给),防止两者出现的缺省参数的值不同造成错误。
3.缺省参数必须时常量或者全局变量。
4.c语言不支持(编译器不支持)。