C++——缺省参数

缺省参数的定义

缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数的时候,如果没有指定实参,则采用该形参的缺省值,否则使用指定的实参。

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);
}

C++——缺省参数_第1张图片

 半缺省参数

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);
}

C++——缺省参数_第2张图片

 注意:

1.半缺省参数必须从右往左依次来给出,不能间隔着给。(如Func(int a = 10,  int b, int c = 20))

2.缺省参数不能在函数声明和定义中同时出现。(一般声明给,定义不给),防止两者出现的缺省参数的值不同造成错误。

3.缺省参数必须时常量或者全局变量。

4.c语言不支持(编译器不支持)。

你可能感兴趣的:(c++)