c++ 虚析构函数的作用分析
1.为什么基类的析构函数是虚函数? 在实现多态时,当用基类指针操作派生类对象时,在析构时防止只析构基类而不析构派生类的状况发生。 什么是多态: 根据面向对象的继承规则,派生类跟基类是IS-A的关系。也就是说派生类的对象也是一个基类对象。所以基类的指针可以指向派生类的对象以便实现多态。(让基类实现多态) 亦即: 这样做是为了当用一个基类的指针删除一个派生类的对象时,派生类的析构函数会被调用; 下面看代码---------------------------------------------------------------------------------------------------------- a.第一段代码 #include<iostream> using namespace std; class ClxBase{ public : ClxBase() {}; ~ClxBase() {cout << " Output from the destructor of class ClxBase! " << endl;}; void DoSomething() { cout << " Do something in class ClxBase! " << endl; }; }; class ClxDerived : public ClxBase{