C++构造函数、析构函数执行顺序详解
构造函数执行顺序
- 调用虚基类构造函数(如有多个则按虚基类声明顺序从左到右)
 - 调用基类构造函数(如有多个则按基类声明顺序从左到右)
 - 设定虚函数表指针值(virtual table pointer)
 - 执行初始化列表、调用成员变量构造函数(按成员变量声明顺序)
 - 执行自身构造函数
 
析构函数执行顺序(与构造函数相反)
- 执行自身析构函数
 - 调用成员变量析构函数(与成员声明顺序相反)
 - 调整虚函数表指针值
 - 调用基类析构函数(从右到左)
 - 调用虚基类析构函数(从右到左)
 
知识无涯,学中作乐