C++缺省参数的函数
定义:C++在声明函数原型时,可为一个或多个参数指定缺省参数值,以后调用此函数,若省略其中某一参数,C++自动地以缺省值作为相应参数的值。
例如函数原型说明为:
int add(int x=15,float y=20.56);
当进行函数调用时,可以有以下几种形式:
1) add(100,79.8); // x=100,y=79.8
2) add(25); // x=25,y=20.56
3) add(); // x=15,y=20.56
特别说明:
1、只能在声明时设置默认参数
2、采用的是由右向左的顺序,中间不能断,必须是连续的.
如:int fun(int i,int j=5,int k);//错误,k未使用
3、如果是声明和定义分开的情况. 声明可以定义默认值,定义中不再指定缺省参数.
4、调用时实参对形参的初始化必须是从左向右的
5、void fun(); //C语言中: 表示可以接受任意多个参数 所以一般写成void fun(void) C++语言当中:表示不接受任的参数.
6、使用(直接上代码说话)
namespace FunDefault
{
int default1(int a = 20,int b = 30,int c =10);
int default1(int n) {return n;}
int default3(char c ,int a = 30); //声明
double default2(double fA, double fB,double fC = 20.34){ return fA+fB+fC;}
void defaultEx()
{
cout<<default1()<<endl;
cout<<default2(20.34,30.45)<<endl;
}
}
int FunDefault::default1(int a,int b ,int c /* =10 */)
{
return a+b+c;
}
int FunDefault::default3(char c ,int a /* = 30 */) //定义 定义不能指定默认值.
{
return c+a;
}