C++中构造函数的参数缺省的详解

时间:2021-05-20

C++中构造函数的参数缺省的详解

前言:

构造函数中参数的值既可以通过实参传递,也可以指定为某些默认值,即如果用户不指定实参值,编译系统就使形参取默认值。在构造函数中也可以采用这样的方法来实现初始化。

#include <iostream>using namespace std;class A{ public : A(int aa=0,int bb=00); //在声明构造函数时指定默认参数 int volume( ); int a; int b; };int main( ){ A obj(4); cout<<obj.a<<" "<<obj.b; return 0;}

程序运行结果为

4 0

可以看到: 在构造函数中使用默认参数是方便而有效的,它提供了建立对象时的多种选择,它的作用相当于好几个重载的构造函数。

它的好处是: 即使在调用构造函数时没有提供实参值,不仅不会出错,而且还确保按照默认的参数值对对象进行初始化。尤其在希望对每一个对象都有同样的初始化状况时用这种方法更为方便。

关于构造函数默认值的几点说明:

  • 应该在声明构造函数时指定默认值,而不能只在定义构造函数时指定默认值。
  • 程序第5行在声明构造函数时,形参名可以省略。
  • 如果构造函数的全部参数都指定了默认值,则在定义对象时可以给一个或几个实参,也可以不给出实参。
  • 在一个类中定义了全部是默认参数的构造函数后,不能再定义重载构造函数。
  • 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章