构造函数通常是用来创建对象,也可以理解为对象的属性初始化也可以。并且构造函数决定了对象的长相,构造函数是无参的调用无参构造函数,对象一个参数,构造的对象也就只有一个参数。依次类推要保持一致性。
所以一般情况我们为了构建不同的对象,习惯于把构造函数写成缺省的形态,这样就方便了我们构建不同的对象。
new一个对象其实是两个过程:
所以new一个对象的时候也需要和构造函数的参数一致,如以下代码:
其实很简单,如果你明白变量的作用域其实就很容易理解调用顺序的。普通对象构造顺序和析构顺序正好是相反的,new出来的对象,释放完后就会调用析构函数,静态对象,程序关闭后调用,所以上图没有显示出来4的析构过程。
所以我们要像在C语言中那样创建数组的话, 都会准备一个无参的构造函数,或者是采用缺省的方式编写构造函数。
本文分享自微信公众号 - C语言编程基础(goodStudyCode)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。