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

您所在的位置:网站首页 函数定义时可以有参数也可以没有参数 C++默认参数(缺省参数)应该写在哪里,声明还是定义里

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

2024-06-23 05:00| 来源: 网络整理| 查看: 265

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

默认参数就是给参数默认赋值一个常量,这个参数必须是常量,而且调用函数的时候这个参数可写、可不写,也叫缺省参数。 声明 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) //【正确且优秀】 (搞了半天原来也只能少写个赋值部分,就不能让我再少敲点嘛- -!)

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

结论:函数的默认参数尽量写在声明里赋值!便于在头文件里查找修改。 定义和声明分开的,只能在声明中设置默认参数(谢谢评论里的哥们提醒,前几天我也发现了)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3