基类派生类构造与析构

构造发生,就是开始使用时定义,类就开始构造;析构就是对象不再使用时调用。对象构造时调用构造函数,对象析构时调用析构函数。

那派生类构造时基类构造吗?顺序是怎样?

派生类析构时基类析构吗?顺序是怎样?

带着这两个问题写段代码来说明下。

测试结果:

派生类构造时会先调用基类构造函数,派生类析构先调用自己析构函数,再调用基类析构函数。

派生类与基类构造析构顺序,可以很好理解,写个好记的方法。

基类比作门,派生类比做窗。当进门时(构造),先打开门,再打开窗;当出门时(析构),先关窗,再关门。

估计还有人会问题,当我没有定义析构和构造函数哪怎么调用?答案就是C++会自己生成默认的构造函数,析构函数,只是函数内什么都没做。

问这问题可以看下这篇会有帮助:弄清C++在幕后为你所写、所调用的函数

《基类派生类构造与析构》上有29条评论

评论已关闭。