腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
我想知道为什么
在
继承中调用
析
构
函数
时出错。
、
、
、
、
"B Destroyer" << endl; }{ delete temp; 我不确定我是不是这么想
的
。temp分配派生
类
B并将其存储
在
指针
类型(
基
类
A)中。没有创建
虚拟
函数
表,因为
基
类
析
构
函数
浏览 0
提问于2018-01-29
得票数 0
回答已采纳
2
回答
多态
类
中
的
虚拟
析
构
函数
、
、
我理解,每当您有一个多态
基
类
时,
基
类
都应该定义一个
虚拟
析
构
函数
。这样,当
删除
指向
派生
类
对象
的
基
类
指针
时,它将首先调用派生
类
的
析
构
函数
。如果我错了,请纠正我。此外,如果
基
类
析
构</
浏览 0
提问于2015-03-31
得票数 4
回答已采纳
4
回答
4级继承链中
的
C++
虚拟
析
构
函数
。
、
我正在用
虚拟
析
构
函数
做一个小实验来回顾一下--想知道是否有人对以下问题有一个简单
的
解释(使用VS2010):运行了2个实验:B
具有
非
虚拟
析
构
函数
%d
具有
非
虚拟
析
构</
浏览 1
提问于2012-06-16
得票数 3
回答已采纳
2
回答
当我使用dynamic_cast和
删除
对象
删除
时,
析
构
函数
是如何工作
的
?
、
我为它创建一个派生
类
对象和一个
基
类
点,然后使用dynamic_cast转换
基
类
点到派生
类
点。我
删除
派生
类
点,但程序调用派生
析
构
函数
和
基
析
构
函数
。为什么程序调用基本
析
构
函数
?毕竟,基本
析
构
函数
不是
虚拟
<em
浏览 6
提问于2017-08-04
得票数 0
回答已采纳
4
回答
如果使用
基
指针
声明,为什么简单
析
构
函数
不
删除
派生对象
、
int main() delete p;} 我有点困惑,为什么在这里
删除
p不会
删除
派生对象?是否使得派生对象包含
基
类型
的
子对象,并且
指针
p实际
上
指向
派生对象
的
基部分(子对象)。因此,当delete p运行时,它将只能
删除
派生
类
的
对象
的
基
类
部分,并且对
浏览 0
提问于2013-12-14
得票数 1
3
回答
只有
在
存在
虚拟
函数
时才使用
C++
虚拟
析
构
函数
、
、
、
这来自有效
的
C++
(Meyers):我不明白为什么非多态
类
不应该声明
虚拟
析
构
函数
。假设我有一个父
类
和一个子类,没有
虚拟
函数
,并且有一个
指向
子对象
的
父
类
<em
浏览 0
提问于2016-01-12
得票数 3
3
回答
在
继承中使用delete
的
意外行为,其中
基
指针
对象
指向
最派生
的
类
、
、
、
在
我
的
代码中,我使用了三个
类
。Pain string salt,com;所有
类
都只有参数化构造
函数
。
的
函数
。(Medicine:: call ()是真实
的
),那么调用就会转到Comb
的
call()。(这个问题与疼痛::call()是否是
虚拟
的
无关)。为什么会发生这种情况?
浏览 0
提问于2013-08-21
得票数 0
回答已采纳
3
回答
非
虚拟
去铁氧体双遗传(Y型)
、
我有Y型
的
类
层次结构: C
类
继承A和B,D
类
继承C,A和B有
虚拟
析
构
函数
,C
的
析
构
函数
不是
虚拟
的
。我知道,如果没有双重继承(比方说没有B),那么C()将是
虚拟
的
。我
的
问题是双重继承会影响它吗?.};我必须通过
浏览 0
提问于2019-01-18
得票数 0
回答已采纳
2
回答
C++
unique_ptr与多态性
、
、
也许有同样
的
问题,但我还没有找到。为什么没有调用派生
析
构
函数
?我要怎么做才能解决这个问题?
浏览 2
提问于2014-10-24
得票数 0
回答已采纳
5
回答
我
的
基
类
中有一个
虚拟
析
构
函数
和一个数组。我怎么才能让它工作呢?
、
} 我
的
基
类
中有一个
虚拟
析
构
函数
和一个数组。如果
基
类
析
构
函数
被派生
类
析
构
函数
覆盖,则
基
射线不会被
删除
。什么是好
的
解决方案?
浏览 1
提问于2012-01-31
得票数 1
回答已采纳
3
回答
如何
删除
没有dstructor
的
派生
类
的
对象
、
、
Base}; { delete c;gcc-4.4 -Wall很好,但gcc-5.2 -Wall给出警告:
删除
具有
非虚
析
构
函数
的
多态
类
类型'Derived‘
的
对象可能会导致未定义
的
行为-Wdelete- non-virtual -dtor 我看到了,但在我
的
例子中,它是派生对象。我认为这是一个gcc
的</
浏览 4
提问于2016-07-16
得票数 1
1
回答
隐式声明
析
构
函数
、
、
、
如果我是正确
的
,默认
析
构
函数
总是隐式声明
的
,除非用户声明它。根据 struct B {};隐式声明
的
<e
浏览 2
提问于2021-09-28
得票数 1
回答已采纳
6
回答
纯抽象
类
的
虚拟
析
构
函数
、
、
基于我发现
的
和堆栈溢出上
的
其他链接,如果我们计划以多形性方式使用它,那么我们应该始终
在
基
类
中定义一个
虚拟
析
构
函数
。我想知道这条规则是否有例外。我已经看到了不为纯抽象
基
类
定义
虚拟
析
构
函数
的
生产代码,
在
cppcon 2014视频中,大约10:06定义
的
BoolExp结构是一个纯抽
浏览 1
提问于2019-07-30
得票数 5
回答已采纳
5
回答
使用向上转换时
的
虚拟
析
构
函数
、
、
当至少有一个
类
方法是虚
的
时,每个人都说
析
构
函数
应该是虚
的
。{ cout << "Exiting main" << endl;} 我
浏览 2
提问于2011-05-13
得票数 3
回答已采纳
4
回答
为什么默认情况下C4265 Visual
C++
警告(
虚拟
成员
函数
和无
虚拟
析
构
函数
)是关闭
的
?
、
、
、
、
当
类
至少有一个
虚拟
成员
函数
但没有
虚拟
析
构
函数
时,Visual
C++
可以发出。 显然,这个警告是为了检测派生
类
对象通过
指向
基
类
的
指针
被deleted,并且
基
类
中没有
虚拟
析
构
函数
的
情况。这种情况会产生未定义
的</em
浏览 0
提问于2011-11-08
得票数 1
回答已采纳
1
回答
虚拟
析
构
函数
用例
、
、
、
、
我读过一些文章,就像他们说
的
,主要
的
虚拟
析
构
器用例是: 派生
的
类
可能
具有
来自堆
的
动态数据分配,即“拥有”该数据对象。所以,他们需要在
析
构
函数
中
删除
一些例程。通过
基
类
指针
删除
需要对所有派生
类
中
的
析
构
函数
浏览 1
提问于2016-11-03
得票数 0
回答已采纳
5
回答
虚拟
析
构
函数
:如果
基
类
动态分配内存,
基
类
中是否需要?
、
这个问题看起来像中
的
讨论他们说这是不正确
的
,因为这个
基
类
还应该定义一个
虚拟</e
浏览 21
提问于2012-09-07
得票数 0
3
回答
我是否可以
删除
一个联合组件而不检查它是否存储该对象?
、
我有几个继承相同
基
类
的
类
。Union由这些
类
的
指针
组成:public: virtual ~A() { printfB(); return 0;它似乎有效,但我
浏览 6
提问于2014-07-20
得票数 1
回答已采纳
2
回答
这里没有定义
虚拟
析
构
函数
。
这已在我
的
正式说明中提供,但我发现了一个错误。
在
我把它交给我
的
教练之前,我只是想和我所有的血亲们确认一下。again ptr ->display();}Base class ,我认为问题在主
函数
的
最后一行我
的
意思是,由于
析
构
函数
不是
虚拟
的
,所以我认为您无法使用
基<
浏览 7
提问于2015-04-05
得票数 1
2
回答
当使用受保护
的
非
虚拟
析
构
函数
时,禁止
删除
-非
虚拟
-dtor警告。
、
main.cc:15:9: error:
删除
具有
非
虚拟
析
构
函数
的
抽象
类
类型‘Foo’
的
对象将导致未定义
的
行为-dtor= delete -非
虚拟
dtor
删除
f;^ main.cc:15:9: error:
删除
具有
非
浏览 1
提问于2017-04-07
得票数 13
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
掌握这些技巧,让你的程序性能和可维护性双双提升!
C+之虚函数
手把手教你:如何把C+的源程序改写成C语言
关于C+的虚函数和多态,你觉得很难?首先你需要了解这三点!
虚析构与纯虚析构(C+)
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券