虚析构函数
来源:互联网 发布:unity3d中xml编写 编辑:程序博客网 时间:2024/06/05 08:07
什么是虚析构函数?
虚析构函数确保继承类对象在析构的时候从继承类析构。
经常用于子类对象被赋值给父类对象指针的情景。
例1:下面例子说明没有虚析构函数是对象析构顺序。
#include <iostream> using namespace std; class Base { public: Base() { cout << "Base class constructor ..." << endl; } ~Base() { cout << "Base class destructor ..." << endl; }}; class Derived : public Base { public: Derived() { cout << "Derived class constructor ..." << endl; } ~Derived() { cout << "Derived class destructor ..." << endl; }}; void main(){ Base* base; base = new Derived(); delete base;} OUTPUT:Base class constructor ...Derived class constructor ...Base class destructor ...
例2:下面例子说明有虚析构函数时对象析构顺序。
#include <iostream> using namespace std; class Base { public: Base() { cout << "Base class constructor ..." << endl; } virtual ~Base() { cout << "Base class destructor ..." << endl; }}; class Derived : public Base { public: Derived() { cout << "Derived class constructor ..." << endl; } ~Derived() { cout << "Derived class destructor ..." << endl; }}; void main(){ Base* base; base = new Derived(); delete base;} OUTPUT:Base class constructor ...Derived class constructor ...Derived class destructor ...Base class destructor ...
0 0
- 虚析构函数、纯虚析构函数
- 虚析构函数,纯虚析构函数~~~
- 构造函数 虚函数 虚析构函数
- 虚析构函数、纯虚析构函数、虚构造函数
- 纯虚函数、虚函数、虚析构函数
- 虚析构函数、纯虚析构函数、虚构造函数
- 虚函数,虚析构函数,虚函数表
- 虚析构函数、纯虚析构函数、虚构造函数
- 虚析构函数
- 虚析构函数
- 虚析构函数
- 虚析构函数
- 虚析构函数
- 虚析构函数
- 虚析构函数
- 虚析构函数
- 虚析构函数
- 虚析构函数
- 贪吃蛇(javascript版)
- 隐马尔科夫模型HMM自学
- git和github的区别
- 黑马程序员学习笔记——SynchronousQueue详解
- 07_android入门_采用HttpClient的POST方式、GET方式分别实现登陆案例
- 虚析构函数
- jquery.validate 使用
- 环境变量路径中有空格该怎么办
- 理解Surface,SurfaceView,SurfaceHolder,SurfaceHolder.CallBack
- 堆内存和栈内存详解
- eclipse中编译好的jsp文件在哪里
- 玩苹果为什么要越狱?
- SSDT HOOK的恢复
- 友情推荐:《失业的程序员》终极花絮