虚函数析构函数调用顺序

析构函数参考:
http://blog.csdn.net/zengchen__acmer/article/details/22592195?utm_source=tuicool
构造函数参考:
http://www.cnblogs.com/nliao/archive/2012/02/05/2339175.html

C++构造函数调用顺序:

1、创建派生类的对象,基类的构造函数函数优先被调用(也优先于派生类里的成员类,多继承时,按照派生表的顺序依次调用);

2、如果类里面有成员类,成员类的构造函数优先被调用(按照声明的顺序调用);

3、派生类构造函数。

C++析构函数主要遵从一下四点规则:

1、首先调用派生类的析构函数(清理派生类的新增成员);

2、如果派生类中有子对象 , 则再调用派生类中子对象的析构函数 , 调用顺序是:在派生类中,先定义后调用。(清理派生类新增的成员对象);

3、再调用普通基类的析构函数(清理从基类继承来的新增成员);

4、最后调用虚基类的析构函数。

原文地址:https://www.cnblogs.com/wrencai/p/5894943.html