基类析钩函数要加virtual变为虚函数
来源:互联网 发布:zknu教务网络管理系统 编辑:程序博客网 时间:2024/06/07 02:37
基类析钩函数要加virtual
基类析钩函数加virtual有很大的好处,其中最大就是可以减少内存泄露!因为多态性,下面我们可以通过一个例子来说明下:
class CBase
{
};
clase CChild:public CBase
{
};
CBase* pBase;
CChild C;
pBase = &C;//多态性,父类指针指向子类
上面的关系就是利用多态性,把父类指针指向子类。像这种情况,如果要是基类的析钩函数没有加virtual的话,则释放的时候pBase会调用基类的析钩函数,但此时CChild的析钩函数不会被调用,而CChild的内存一定会比CBase大,故会造成内存的泄露!而如果是加了virtual的话,则pBase释放的时候会先调用CChild析钩函数,再调用pBase的析钩函数,这样一来保证内存完全回收!
0 0
- 基类析钩函数要加virtual变为虚函数
- 父类析构函数加virtual
- 基函数的析构函数要加virtual
- c++ 析构函数为什么要加virtual
- 基类加析构函数加virtual的重要性
- 虚函数 (virtual)
- virtual 虚函数
- virtual虚函数
- virtual虚函数
- 关于virtual虚函数
- C#虚函数virtual
- virtual纯虚函数
- Virtual members 虚函数
- c++ (virtual)虚函数
- 虚函数virtual
- virtual 虚函数
- virtual虚函数
- 虚函数 virtual
- 蓝牙规范
- SynchronizedList和Vector的区别
- "转译方法
- Android之Activity和Intent
- Struts2中使用拦截器进行权限控制
- 基类析钩函数要加virtual变为虚函数
- hibernate 正向工程和反向工程
- Andorid中BindingAdapter的用法示例
- Android之AsyncTask异步任务
- Hibernate one-to-one一对一映射
- 正则表达式 group()方法 笔记
- 5. gstreamer插件所用函数整理
- lightoj1026【tarjan】
- 三级了----caffe的可视化接口python配置(Windows+vs2013+CPU)