C++中虚析构函数的作用

2014-11-15 19:20:24 · 作者: · 浏览: 33

  我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明:


  有下面的两个类:


  代码


  1 class ClxBase


  2 {


  3 public:


  4 ClxBase() {};


  5 virtual ~ClxBase() {};


  6


  7 virtual void DoSomething() { cout << "Do something in class ClxBase!" << endl; };


  8 };


  9


  10 class ClxDerived : public ClxBase


  11 {


  12 public:


  13 ClxDerived() {};


  14 ~ClxDerived() { cout << "Output from the destructor of class ClxDerived!" << endl; };


  15