c++中的含有默认参数的函数

 含有默认参数的函数,是指函数的参数在不主动i赋值的情况下含有缺省值,也就是说自己提前预置好一个参数值,给定了函数的参数,之后如果没有主动去给函数赋值,则会调用提前已经预置好的函数。

具体表现,有默认参数的时候,如果实参没有传参数进来,就会使用默认参数。

#include<iostream>
using namespace std;
int add(int num1 = 3,int num2 = 4);
int main()
{
	int res = add();
	cout<<"res = "<<res<<endl;	//结果是 7
	res = add(4);
        cout<<"res = "<<res<<endl;	//结果是8
	res = add(2,3);
        cout<<"res = "<<res<<endl;	//结果是5
	return 0;
}
int add(int num1,int num2)
{
	return num1+num2;
}
  • 在本程序中,提前在声明的时候赋予num1 = 3,num2 = 4,在主函数调用该函数的时候add(),根本没有指定具体的值,但输出的结果是,7,正式之前已经预置好的值。
  • 在指定实参的一个参数的时候,会自动覆盖第一个参数num的值,此时num = 4,而num2  = 4,则可以看出,给add函数的参数列表中赋值的顺序是从左往右顺序进行赋值覆盖的,所以我们在想预置参数的时候就必须从右往左依次进行参数的预置设定,而且中间不能空掉任何一个参数。
  • 实参与形参的结合是从左往右,指定默认值的参数是从右往左,不可在中间空掉任何一个参数,否则会报错。
  • 如果函数的定义在函数调用之前,则应在函数顶一个的列表中给吹默认值,如果函数的定义在函数调用之后,则在函数调用之前的函数声明中给出默认值,在函数定义的时候可以不用给出默认值,也就是说在函数调用之前将默认值的信息通知编译系统。
  • 如果在函数声明的时候已经对形参给定了默认值,而同时在函数定义的时候又对形参给出默认值。则函数声明的时候为准,忽略定义函数给定的默认值。(书上是这样写,但是我在v2015环境下编译出错)
  • 如果在函数声明的时候没有给定默认值,而在函数定义的时候给定形参默认值,则程序会报错。
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值