C++构造函数、析构函数、虚析构函数

  一般地,建立对象和删除对象时,父类构造函数->子类构造函数->……->子类析构函数->父类析构函数。

  特例:如果用new建立了一个对象,并将父类的指针指向这个子类的对象,那么用delete撤销对象时,系统只执行基类的析构函数,而不执行派生类的析构函数。

如果希望按照子类析构函数->父类析构函数的顺序执行,那么应该将基类的析构函数声明为virtual(建议这么做)。如果基类的虚构函数为virtual,那么该基类的所有派生类的析构函数也自动称为虚函数。

  注意:构造函数不能声明为virtual

posted @ 2014-03-25 14:50  seven7seven  阅读(193)  评论(0编辑  收藏  举报