首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
为什么将析构函数设置成虚函数
[问答题]
为什么将析构函数设置成虚函数
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(47)
分享
纠错
15个回答
添加回答
11
jzyyyyyy
防止内存泄漏,当父类指针指向子类对象的时候,释放父类指针,如果此时析构函数不是虚函数,那么将只会调用父类的析构函数,不会调用子类的析构函数,造成内存泄漏问题。
发表于 2022-07-22 09:31:55
回复(0)
5
别说天会黑
防止内存泄漏,当父类指针指向子类对象时,释放父类指针,只会调用父类的析构函数,不会调用子类析构函数,造成内存泄漏
发表于 2022-06-27 10:10:59
回复(0)
1
学不明白
虚析构函数的主要作用是为了防止遗漏资源的释放,防止内存泄露。 如果基类中的析构函数没有声明为虚函数,基类指针指向派生类对象时,则当基类指针释放时不会调用派生类对象的析构函数,而是调用基类的析构函数,如果派生类析构函数中做了某些释放资源的操作,则这时就会造成内存泄露。
发表于 2022-07-30 18:15:24
回复(0)
1
英俊的柠檬精在写周报
将可能会被继承的父类的析构函数设置为虚函数,可以保证当我们new一个子类,然后使用基类指针指向该子类对象,释放基类指针时可以释放掉子类的空间,防止内存泄漏。
发表于 2022-07-15 17:25:33
回复(0)
0
_helios_
虚析构函数的主要作用是为了防止遗漏资源的释放,防止内存泄露。如果基类中的析构函数没有声明为虚函数,基类指针指向派生类对象时,则当基类指针释放时不会调用派生类对象的析构函数,而是调用基类的析构函数,如果派生类析构函数中做了某些释放资源的操作,则这时就会造成内存泄露。
发表于 2024-05-21 09:53:44
回复(0)
0
MasterAA
如果不将析构函数设置成虚函数,在使用多态的时候,可能会导致父类中的析构函数无法执行。进而导致包括但不限于,内存泄漏,连接未断开等各种错误。
发表于 2024-03-29 19:45:52
回复(0)
0
Guojiahui
因为父类指针不会调用派生类的析构函数,如果派生类有堆上的内存 会导致无法释放 内存泄漏
编辑于 2024-03-18 21:39:12
回复(0)
0
牛客393524079号
主要是防止内存泄漏,当父类指针指向子类对象时,释放父类指针,只有析构函数是虚函数,才能正确调用子类的析构函数释放资源
发表于 2023-11-11 19:36:31
回复(0)
0
雏鹰划空
1. 目的:为了防止内存泄漏 2. 实现原理:有了虚析构函数,通过基类指针或者引用调用子类对象的时候,就会先调用子类的析构函数,之后,再调用父类的析构函数,从而达到子类和父类的资源完全释放。 3. 如果不实现:不会调用子类的析构函数,导致子类资源释放失败,从而造成内存泄漏。
发表于 2023-11-11 09:39:53
回复(0)
0
hcodeboy
防止内存泄漏; 如果析构函数不是虚函数,当基类指针指向子类对象时,基类指针会调用基类的析构函数,如果子类的析构函数中有内存释放的操作,将会造成内存泄露。
发表于 2023-08-11 20:36:08
回复(0)
0
踏实的懒羊羊说我这儿没问题啊
防御内存泄漏
发表于 2023-07-12 16:52:03
回复(0)
0
我人麻了
防止内存泄漏。当父类指针指向子类对象时,释放父类指针时,只会调用父类的析构函数而不会调用子类析构函数,这可能会造成内存泄漏。
发表于 2022-11-09 17:58:29
回复(0)
0
牛客689757181号
防止内存泄漏,当父类指针指向之类对象时,释放父类指针,只会调用父类析构函数,不会调用子类析构函数,造成内存泄漏
发表于 2022-09-25 09:29:18
回复(0)
0
牛客218984011号
防止调用函数时当前类的成员有漏释放的情况
发表于 2022-09-05 20:39:57
回复(0)
0
至今0offer选手
防止内存泄漏,当基类析构函数不是虚函数时,此时若调用析构函数只会调用基类的析构函数,子类没有调用自己的析构函数引起内存泄露
发表于 2022-07-27 09:15:11
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++
上传者:
real19931
难度:
15条回答
47收藏
2670浏览
热门推荐
相关试题
运行 ldd hello 可以得到...
百度
C++
评论
(3)
1.该校教师最多的是哪一年?( ...
资料分析
言语理解与表达
资料分析
评论
(1)
你身边有哪些人还没有使用滴滴,你认...
用户研究
评论
(1)
怎么做一个需求
需求分析
评论
(1)
A/B test场景问题,第一类错...
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题