方法参数 默认值_5.1 C++有默认参数的函数 | 求2个或3个中的最大数

  • Post author:
  • Post category:其他


824ab993fdf3a44578cfc126d9ea0806.png


C++有默认参数的函数

在函数调用时形参从实参获取值,因为实参的个数要和形参相同,但有时需要多次调用同一函数,因此C++提供了一个简单的处理办法,给形参一个默认值。

这样形参就不必一定要从实参取值了,如下函数声明:

int Area(int area=10);

指定area的默认值为10,如果在调用此函数时,确认area的值为10,则可以不必给出实参的值,如:

Area();

如果不想使用默认的值,则可以通过实参另行赋值,如:

area(12);

这种方法比较灵活,可以提高运行效率。如果有多个形参,可以使每个形参有一个默认值, 也可以只对一部分形参指定默认值,另一部分形参 不指定默认值。


经典案例:C++求2个或3个正整数中的最大数,要求使用默认参数。

#include<iostream>//头文件 
using namespace std;//命名空间 
int main() //主函数 
{
  int Max(int num1,int num2,int num3=0);//函数声明,注意num3=0 
  int num1,num2,num3,max1,max2;//定义变量 
  cout<<"请输入数:";
  cin>>num1>>num2>>num3;
  max1=Max(num1,num2,num3);//调用函数,注意次数的参数有3个 
  cout<<max1<<endl;
  cout<<"____________"<<endl;
  max2=Max(num1,num2);//调用函数,注意次数的参数有2个 
  cout<<max2<<endl;
  return 0;
}
int Max(int num1,int num2,int num3)//函数定义 
{
  if(num2>num1)//把较大的数赋值给num1 
  {
    num1=num2;
  }
  if(num3>num1)//把较大的数赋值给num1 
  {
    num1=num3;
  }
  return num1; //将num1的值返回到函数调用处 
}

执行本程序之后:

请输入数:10 4 18
18
____________
10

--------------------------------
Process exited after 12.01 seconds with return value 0
请按任意键继续. . .

5.1 C++有默认参数的函数 | 求2个或3个中的最大数​mp.weixin.qq.com