C++远航之封装篇——默认构造函数、初始化列表、拷贝构造函数



1、默认构造函数

  • 没有参数;
  • 若有参数,则一定全部都有默认的参数值。




2、初始化列表

(1)概念


(2)特性

  • 建议用初始化列表来初始化数据成员。
  • 初始化列表先于构造函数执行;
  • 初始化列表只能用于构造函数;
  • 初始化列表可以同时初始化多个数据成员。


(3)必要性

  • 如果需要给const修饰的数据成员赋值,必须用初始化列表。

    



3、拷贝构造函数

(1)为什么要拷贝构造函数?见博客http://blog.csdn.net/zhhymh/article/details/6249219


(2)拷贝构造函数的定义格式

  • 如果没有自定义的拷贝构造函数,则系统自动生成一个默认的拷贝构造函数;
  • 当采用复制初始化实例化对象时,系统自动调用拷贝构造函数。


  • 以下是函数传参时,调用拷贝构造函数。(这里没有剪切完整的代码)





4、构造函数总结

构造函数分为无参构造函数、有参构造函数

  • 无参构造函数是默认构造函数;
  • 有参构造函数分为参数带默认值,参数无默认值;其中如果参数带默认值,也算是默认构造函数




构造函数和拷贝构造函数都是自动调用的

  • 我们先编写好这些函数,然后当实例化或者复制初始化时,会自动调用这些函数。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天糊土

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值