1、构造函数的调用顺序
基类构造函数、对象成员构造函数、派生类本身的构造函数
2、析构函数的调用顺序
派生类本身的析构函数、对象成员析构函数、基类析构函数(与构造顺序正好相反)
3、特例
局部对象,在退出程序块时析构
静态对象,在定义所在文件结束时析构
全局对象,在程序结束时析构
继承对象,先析构派生类,再析构父类
对象成员,先析构类对象,再析构对象成员
4、例子
#includeusing namespace std;class Base1{public: Base1(void){cnt++;cout<<"Base1::constructor("< <<")"<
#includeusing namespace std;class A{public: A(){cout<<"A::constructor"< B b A::constructor B::constructor C::constructor D::constructor C::deconstructor B::deconstructor A::deconstructor ----->static B b A::constructor C::constructor D::constructor C::deconstructor A::deconstructor */