构造函数通常是用来创建对象,也可以理解为对象的属性初始化也可以。并且构造函数决定了对象的长相,构造函数是无参的调用无参构造函数,对象一个参数,构造的对象也就只有一个参数。依次类推要保持一致性。

13图解析C++构造函数和析构函数-LMLPHP

所以一般情况我们为了构建不同的对象,习惯于把构造函数写成缺省的形态,这样就方便了我们构建不同的对象。


new一个对象其实是两个过程:

所以new一个对象的时候也需要和构造函数的参数一致,如以下代码:

13图解析C++构造函数和析构函数-LMLPHP

13图解析C++构造函数和析构函数-LMLPHP


其实很简单,如果你明白变量的作用域其实就很容易理解调用顺序的。普通对象构造顺序和析构顺序正好是相反的,new出来的对象,释放完后就会调用析构函数,静态对象,程序关闭后调用,所以上图没有显示出来4的析构过程。

所以我们要像在C语言中那样创建数组的话, 都会准备一个无参的构造函数,或者是采用缺省的方式编写构造函数。

13图解析C++构造函数和析构函数-LMLPHP

C++教程第03课:一文学会创建类和对象

C++教程第02课:一文学会C++string类

C++教程第01课:一文学C++与C的区别(二)

C++教程第01课:一文学C++与C的区别(一)

本文分享自微信公众号 - C语言编程基础(goodStudyCode)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

09-09 15:12