C++默认参数(缺省参数)应该写在哪里,声明还是定义里 |
您所在的位置:网站首页 › 函数定义时可以有参数也可以没有参数 › C++默认参数(缺省参数)应该写在哪里,声明还是定义里 |
今天当自己要写这种函数时候,才发现这个默认参数的知识不懂啊,于是百度了下。 默认参数就是给参数默认赋值一个常量,这个参数必须是常量,而且调用函数的时候这个参数可写、可不写,也叫缺省参数。 声明 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 |