1 函数默认参数

1 默认参数

在C++中,函数的形参列表中的形参是可以有默认值的 

int fun(int a,int b=10,int c=20)
{
	return a+b+c;
}
int main()
{
	int a=fun(10);
	cout<<a<<endl;//a 40
}

注意事项:

    (1)  如果某个位置已经有了默认参数,那么从这个位置往后(从左到右)都必须有默认值

int fun(int a,int b=10,int c)//error 
{
	return a+b+c;
}
int main()
{
	int a=fun(10);
	cout<<a<<endl;
}
  

(2)声明和函数只能有一处有默认值 

       声明和定义在 main函数的上面:

int fun(int a,int b,int c);
int fun(int a,int b,int c=20)
{
	return a+b+c;
}
int main()
{
	int a=fun(10,30);//只要两个参数
	cout<<a<<endl;//a 40
}
//这种写法和上面等价
int fun(int a,int b,int c=20);
int fun(int a,int b,int c)
{
	return a+b+c;
}
int main()
{
	int a=fun(10,30);
	cout<<a<<endl;
}

     定义在main函数的下面:

int fun(int a,int b=20,int c=10);

int main()
{
	int a=fun(10);
	cout<<a<<endl;
}
  
int fun(int a,int b,int c)
{
	return a+b+c;
}
int fun(int a,int b,int c);

int main()
{
	int a=fun(10,30);//case1 error
	cout<<a<<endl;
}
  
int fun(int a,int b,int c=20)
{
	return a+b+c;
}

case1:error 应该传入三个参数   ;正确写法应该是fun(10,20,30),

总结:

声明和定义都在main函数上面时,实参个数由有默认值的决定。

定义在下面时,函数调用时需要的实参个数 由声明决定,此时定义的默认值无效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值