构造函数与析构函数

来源:互联网 发布:windows启动服务命令 编辑:程序博客网 时间:2024/05/01 16:32

派生类的构造函数应在初始化表里调用基类的构造函数;

派生类和基类的析构函数应加Virtual关键字。

不要小看构造函数和析构函数,其实编起来还是不容易。

#include <iostream.h>

class Base

{

 public:

   virtual ~Base() { cout<< "~Base" << endl ; }

};

class Derived : public Base

{

 public:

   virtual ~Derived() { cout<< "~Derived" << endl ; }

};

void main(void)

{

   Base * pB = new Derived;  // upcast

   delete pB;

}

输出结果为:

      ~Derived

      ~Base

如果析构函数不为虚,那么输出结果为

      ~Base