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
请按任意键继续. . .
更多案例可以go公众号:C语言入门到精通
正文完