#include <iostream.h>
class Base
{
public:
Base() { mPtr = new int; }
~Base() { delete mPtr; cout<<"Base::Destruction"<<endl;}
private:
int* mPtr;
} ;
class Derived : public Base
{
public:
Derived() { mDerived = new long; }
~Derived() { delete mDerived; cout<<"Derived::Destruction"<<endl;}
private:
long* mDerived;
} ;
void main()
{
Base* p = new Derived;
delete p;
}
输出结果只有:Base::Destruction
以上代码会产生内存泄露,因为new出来的是Derived类资源,采用一个基类的指针来接收,析构的时候,编译器因为只是知道这个指针是基类的,所以只将基类部分的内存析构了,而不会析构子类的,就造成了内存泄露,如果将基类的析构函数改成虚函数,就可以避免这种情况,因为虚函数是后绑定,其实就是在虚函数列表中,析构函数将基类的析构函数用实际对象的一组析构函数替换掉了,也就是先执行子类的虚函数再执行父类的虚函数,这样子类的内存析构了,父类的内存也释放了,就不会产生内存泄露。
注:
1.析构函数其实是一个函数,不论子类还是父类,虽然可能看起来名字不一样。而且析构函数执行过程都是执行子类再到父类。
2.多态的时候一定要将析构函数写成虚函数,防止内存泄露,各个子类维护自己内部数据释放。
virtual 是实现多态的基础
它使得具体的函数跳转从编译时推迟到运行时然而构造函数的调用是编译器期间就决定的,因此它不能为虚
因此关于类的构造函数和析构函数需要了解如下两点:
(1)类的构造函数可以重载,但是不能为虚函数
(2)类的析构函数可以为虚函数,但是不能 重载
(3)类的构造函数和析构函数都不能继承
分享到:
相关推荐
分析函数与聚合函数(如SUM, AVG, COUNT等)类似,但有显著的区别:聚合函数通常会忽略分组之外的其他行,而分析函数则允许我们在不丢失其他行信息的情况下对数据进行计算。这种功能在处理复杂的数据分析和报表生成...
这类工具可能包括自动抓取、格式转换、内容优化等功能,以适应不同论坛的规则和格式要求。 描述中的“纯HTML”意味着该工具可能是基于HTML编写的,即它可能是一个网页应用或者简单的网页文件,用户只需通过浏览器...
UBB论坛转帖圣手.exeUBB论坛转帖圣手.exe
【贴吧转帖工具】是一种专为百度贴吧用户设计的便捷工具,主要用于提高用户在贴吧中的互动效率。通过这款工具,用户可以实现一键转帖和一键8经验签到的功能,极大地简化了传统操作流程,节省了用户的时间,提升了...
标题和描述中的“世界编程大赛第一名写的程序”这一知识点,实际上指向了计算机科学与编程竞赛领域的一个重要概念:即在高水平的编程比赛中,优胜者所编写的代码往往蕴含着高级算法、数据结构以及编程技巧。...
此外,尽管这类工具能够帮助我们方便地去除水印,但我们也应尊重他人的版权和知识产权。在未经许可的情况下去除水印并分享内容可能会引起法律纠纷,因此在实际应用中,确保合法性和道德规范至关重要。 总之,编辑...
X2转帖工具、采集工具”是针对这个平台设计的辅助软件,主要用于帮助论坛管理员或用户批量发布帖子和采集内容,提高论坛内容更新的效率。 一、批量发帖功能 1. 自动化发布:此工具可以自动化地创建和发布帖子,...
关于adams函数的使用,并且文件中还提供了一个Adams的学习网站。
转帖图片提取工具可以对论坛图片附件信息进行清除,只保留图片代码,操作很简单,推荐有需要转帖图片工具的朋友下载 转帖图片提取工具使用方法: 将IP138上处理过的东西复制到上方的编辑框内,点击只要图片,下面...
1.修改自Convert X转帖工具 2.新增批量替换关键词(原来是单个词语替换,可以利用这个功能删除一些网站的防转帖代码) 3.批量随机新增文字(新增内容可自定义,从而实现伪原创) 4.cookie记录替换和新增关键词(避免每次...
"转帖工具插件 for PHPwind 7.5 正式版" 是专门为 PHPwind 7.5 版本设计的一个功能插件,旨在提供便捷的帖子转移功能,帮助管理员或者用户将内容从一个地方轻松移动到另一个地方,而无需直接编辑论坛的原始文件。...
HTML2UBBMaxcj 是一款专为Softii论坛设计的转帖工具,它主要用于将HTML格式的帖子内容转换成UBB代码,以便在论坛中更好地显示和分享。UBB(Universal BBCode)是一种轻量级的标记语言,常用于网络论坛,与HTML类似,...
《一键转帖功能插件 for 帝国CMS 6.0 GBK utf8 V1.0》 本文将深入探讨“一键转帖功能插件”在帝国CMS 6.0系统中的应用与实现,该插件适用于GBK及UTF-8编码环境,旨在提升网站内容的分享与传播效率。我们将从安装...
还让写了两个函数,分别是动态实现二维数组,以及如何释放二维数组,记得当时在大学的时候,好多课的上机也用过,不过记得不太清了,这些年都忘的差不多了,不过还好,面试官没说什么,就是说了释放有些问题,估计...
《转帖经典---JAVA设计模式》这本书或资料可能涵盖了这些模式的详细解释、示例代码以及如何在实际项目中应用这些模式。通过学习和理解这些设计模式,开发者能够更好地设计和重构软件,提升代码质量。
"一键转帖功能插件 for 帝国CMS v1.0.rar" 是一个专为帝国CMS设计的扩展工具,其主要目标是简化用户在网站上分享内容的过程,提高用户体验。这个插件允许用户轻松地将网站上的文章或信息复制并转发到其他平台,如...
在论坛转帖的场景下,这个过程可能会更复杂,因为需要考虑图片的显示顺序、缓存策略、错误处理等因素。例如,可能需要在数据库中记录每个图片的缩略图路径,以便快速加载,同时处理上传失败或网络中断的情况。 总的...
看到论坛里帖子由精美的图片想转过来,或者批量提取地址时很好用
高三政治教学总结(转帖)教学工作总结.doc