mirror of
https://github.com/Light-City/CPlusPlusThings.git
synced 2026-04-01 17:53:26 +08:00
update
This commit is contained in:
39
basic_content/virtual/set3/full_virde.cpp
Normal file
39
basic_content/virtual/set3/full_virde.cpp
Normal file
@@ -0,0 +1,39 @@
|
||||
/**
|
||||
* @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;
|
||||
}
|
||||
Reference in New Issue
Block a user