35 lines
663 B
C++
35 lines
663 B
C++
/**
|
|
* @file full_virde.cpp
|
|
* @brief 将基类的析构函数声明为虚函数
|
|
* 输出结果:
|
|
* Constructing base
|
|
* Constructing derived
|
|
* Destructing derived
|
|
* Destructing base
|
|
* @author 光城
|
|
* @version v1
|
|
* @date 2019-07-24
|
|
*/
|
|
#include <iostream>
|
|
|
|
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;
|
|
}
|