为什么有时候需要把析构函数定义为虚函数
2015-08-13 10:51
225 查看
为什么有时候需要把析构函数定义为虚函数
析构函数的作用是在对象撤销之前做必要的清理现场的工作,当派生类的对象从内存中撤销时一般先调用派生类的析构函数,然后在调用基类的析构函数,但是用new运算符建立了一个派生类对象,并且把他赋给基类指针,那么当用delete运算符撤销这个指针指向的存储空间的时候,系统会只执行基类的析构函数,而不执行派生类的析构函数。只有把析构函数定义为虚函数,那么,当delete这个指针指向的存储空间的时候,才会调用派生类的析构函数,
析构函数的作用是在对象撤销之前做必要的清理现场的工作,当派生类的对象从内存中撤销时一般先调用派生类的析构函数,然后在调用基类的析构函数,但是用new运算符建立了一个派生类对象,并且把他赋给基类指针,那么当用delete运算符撤销这个指针指向的存储空间的时候,系统会只执行基类的析构函数,而不执行派生类的析构函数。只有把析构函数定义为虚函数,那么,当delete这个指针指向的存储空间的时候,才会调用派生类的析构函数,
相关文章推荐
- AI:确定性AI
- 浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
- Linux 的cp命令
- 构造逆序数
- Eclipse高亮插件安装
- MySQL 主从复制
- FineReport构建银行金融租赁考核系统
- Android系统编译原理
- C# Excel ole文件读写操作类
- What most young programmers need to learn
- C++是怎么实现多态性的
- 自适应reset.js布局 用于手机端页面编写
- MD5 方式加密文件,判断文件是否被修改的依据:MD5值是否改变
- linux proc
- 设计模式笔记(一)--设计原则
- C++ 对象动态建立与释放
- 1063. Set Similarity (25)
- hdu 2516 取石子游戏 博弈 斐波那契数
- 架构之道
- 权限控制 自定义 TAG bodyright pageRight