阅读程序1

#include <iostream>
using namespace std;
class BASE
{
private:
    char c;
public:
    BASE(char n):c(n) {}
    virtual ~BASE()
    {
        cout<<c;
    }
};
class DERIVED:public BASE
{
private:
    char c;
public:
    DERIVED(char n):BASE(n+1),c(n) {}
    ~DERIVED()
    {
        cout<<c;
    }
};
int main()
{
    DERIVED d('X');
    return 0;
}

运行结果:

阅读程序1_第1张图片

心得:

析构函数调用顺序,先调用派生类析构函数,后调用基类构造函数。若不使用虚析构函数,则派生类析构函数将不被调用。



你可能感兴趣的:(阅读程序1)