|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 虚析构
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
461
人关注过本帖
标题:
虚析构
只看楼主
加入收藏
hubinyes
等 级:
贵宾
威 望:
11
帖 子:104
专家分:557
注 册:2014-2-4
结帖率:
100%
楼主
收藏
已结贴
√
问题点数:20 回复次数:5
虚析构
class A{
public:
A();
~A();
}
class B : public
A{
public:
B();
~B();
}
A* a = new B();
delete a;
为什么B的析构不被调用。
[
本帖最后由 hubinyes 于 2014-6-9 13:48 编辑
]
搜索更多相关主题的帖子:
public
2014-06-09 13:46
举报帖子
使用道具
赠送鲜花
rjsp
等 级:
版主
威 望:
528
帖 子:9029
专家分:54050
注 册:2011-1-18
第
2
楼
收藏
得分:5
你的标题就是你的答案
不知道你故作一问所为何?
2014-06-09 14:28
举报帖子
使用道具
赠送鲜花
hubinyes
等 级:
贵宾
威 望:
11
帖 子:104
专家分:557
注 册:2014-2-4
第
3
楼
收藏
得分:0
求原理
2014-06-10 08:59
举报帖子
使用道具
赠送鲜花
funyh250
等 级:
贵宾
威 望:
26
帖 子:290
专家分:1573
注 册:2013-12-25
第
4
楼
收藏
得分:0
当执行delete时,编译器知道的唯一信息是该指针的类型是指向基类的指针,
编译器不知道该指针实际指向的对象的类型,
因此只调用基类的析构函数
要删除在空闲存储器中遗留的对象,这时就要用虚析构函数了
使用虚析构函数能动态解析对析构函数的调用
不知懂否
学习是大事 吃喝拉撒睡是小事 其他的那都不是事
2014-06-10 10:14
举报帖子
使用道具
赠送鲜花
hubinyes
等 级:
贵宾
威 望:
11
帖 子:104
专家分:557
注 册:2014-2-4
第
5
楼
收藏
得分:0
回复 4 楼 funyh250
使用虚析构函数能动态解析对析构函数的调用,,,怎样动态解析的。
2014-06-10 19:55
举报帖子
使用道具
赠送鲜花
funyh250
等 级:
贵宾
威 望:
26
帖 子:290
专家分:1573
注 册:2013-12-25
第
6
楼
收藏
得分:15
回复 5 楼 hubinyes
如果没有声明虚析构函数
当执行delete时,编译器知道的唯一信息是该指针的类型是指向基类的指针
如果声明了虚析构函数
当执行delete时,编译器知道信息是该指针的类型是指向基类的指针而且还知道该指针实际指向的对象的类型,这样析构时也会调用该实际指向的对象的类型的析构函数
学习是大事 吃喝拉撒睡是小事 其他的那都不是事
2014-06-11 00:58
举报帖子
使用道具
赠送鲜花
6
1/1页
1
快速回复:
虚析构
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.034481 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved