C++默认参数(缺省参数)应该写在哪里,声明还是定义里

11 篇文章 0 订阅
11 篇文章 2 订阅

今天当自己要写这种函数时候,才发现这个默认参数的知识不懂啊,于是百度了下。

默认参数就是给参数默认赋值一个常量,这个参数必须是常量,而且调用函数的时候这个参数可写、可不写,也叫缺省参数。
声明
int Add(int a,int b=11)
定义
int Add(int a,int b=11)
调用
Add(7) ;//可以少敲一个参数,嘎嘎!所以默认参数也就叫【缺省参数】

使用主要规则:
默认参数必须放在参数的最后面,可以是多个,调用时只能从最后一个参数开始进行省略,如果要省略一个参数,必须省略它后面所有的参数。

刚开始以为声明和定义可以这样写:
声明
int Add(int a,int b=11)
定义
int Add(int a) //【错误】
int Add(int a,int b=11) //【正确】
int Add(int a,int b) //【正确且优秀】 (搞了半天原来也只能少写个赋值部分,就不能让我再少敲点嘛- -!)

到底写在声明还是定义?
都可以,但只能二选一,同时在声明和定义给参数赋值会报错!
类的成员函数的默认参数不可以写在右边赋值,所以类的成员函数只能写在定义里赋值!
非类的成员函数,可写在声明赋值,也可写在定义里赋值。


结论:函数的默认参数尽量写在声明里赋值!便于在头文件里查找修改。

定义和声明分开的,只能在声明中设置默认参数(谢谢评论里的哥们提醒,前几天我也发现了)


  • 11
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值