基类派生类构造与析构
类构造就是开始使用时定义,类就开始构造;析构就是对象不在使用时调用。对象构造时调用构造函数,对象析构时调用析构函数。那派生类构造时基类构造吗?顺序是怎样?派生类析构时基类析构吗?顺序是怎样?带这这两个问题写段代码来说明下。
类构造就是开始使用时定义,类就开始构造;析构就是对象不在使用时调用。对象构造时调用构造函数,对象析构时调用析构函数。那派生类构造时基类构造吗?顺序是怎样?派生类析构时基类析构吗?顺序是怎样?带这这两个问题写段代码来说明下。
大多数情况下,执行动态内存分配的的类都在构造函数里用new分配内存,然后在析构函数里用delete释放内存。最初写这个类的时候当然不难做,你会记得最后对在所有构造函数里分配了内存的所有成员使用delete。
正常情况下退出作用域时都会调用析构函数,不过有时也会有这种问题,先看下例子:
也就是说,有些人误以为 new 创建的对象会在函数的最后被析构。
基本上,只有当你希望一个对象能“生存”于其被创建的域之外时,才应该使用“ new”。如果这样,你就需要使用“delete”来析构该对象。例如: