/** * @file full_virde.cpp * @brief 将基类的析构函数声明为虚函数 * 输出结果: * Constructing base * Constructing derived * Destructing derived * Destructing base * @author 光城 * @version v1 * @date 2019-07-24 */ #include using namespace std; class base { public: base() { cout << "Constructing base \n"; } virtual ~base() { cout << "Destructing base \n"; } }; class derived : public base { public: derived() { cout << "Constructing derived \n"; } ~derived() { cout << "Destructing derived \n"; } }; int main(void) { derived *d = new derived(); base *b = d; delete b; return 0; }