腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(6298)
视频
沙龙
4
回答
如果使用
基
指针
声明,为什么简单
析
构
函数
不
删除
派生对象
、
int main() delete p;} 我有点困惑,为什么在这里
删除
p不会
删除
派生对象?是否使得派生对象包含
基
类型的子对象,并且
指针
p实际上指向派生对象的基部分(子对象)。因此,当delete p运行时,它将只能
删除
派生
类
的对象的
基
类
部分,并且对于派生部分的销毁将具有未定义的行为。这将
导致
内存
泄漏
。
浏览 0
提问于2013-12-14
得票数 1
1
回答
虚拟
析
构
函数
在C++中的使用
、
、
、
、
虚拟
析
构
函数
和纯虚拟
析
构
函数
在C++中的应用是什么?我必须使用虚拟
析
构
函数
而不是普通
析
构
函数
的情况是什么?
浏览 0
提问于2020-03-26
得票数 2
1
回答
删除
基
类
指针
不带
虚
析
构
函数
会不会
导致
内存
泄漏
?
、
、
这是一个解释虚拟
析
构
函数
的例子。(参见)我根据这个例子修改了代码,并有一个关于
内存
泄漏
的问题。 假设
基
类
有一个int num变量,派生
类
有一个浮点货币变量。当调用delete base_ptr;时,因为
基
类
的
析
构
函数
是
虚
的,所以应该先调用~derived(),然后再调用~Base()。我的问题是“
函数
delete是否足够智能,以
浏览 22
提问于2017-03-17
得票数 2
回答已采纳
3
回答
C++
类
接口
类
的
析
构
函数
class IBatch public: virtual int CommitBatch() =0;当另一个
类
从这个派生出来像使用接口一样使用它时,那么,问题来了:当你像上面那样创建接口
类
时,你总是包含一个虚拟
析
构
函数
吗?
浏览 27
提问于2010-04-22
得票数 27
回答已采纳
2
回答
删除
多态对象和
内存
泄漏
、
假设我有一个
类
A和一个继承自A的
类
B,然后我这样做:delete a;以下代码如何不会
导致
内存
泄漏
:我怀疑这是未定义的行为,但我真的什么都不明白:(using std::cout; us
浏览 1
提问于2014-10-06
得票数 0
2
回答
如何从不是虚拟的
基
类
中调用
析
构
函数
?
、
、
、
假设我有一个继承自另一个
类
的
类
,并且从
基
类
点创建一个指向派生
类
对象的
指针
。现在,如果
基
类
析
构
函数
被定义为虚拟
类
,那么它就不会产生任何问题。但是,在我的例子中,
基
类
析
构
函数
没有被声明为虚拟的,所以当我
删除
这个
指针
时,它会
导致
内存</e
浏览 2
提问于2014-01-19
得票数 1
回答已采纳
5
回答
我的
基
类
中有一个虚拟
析
构
函数
和一个数组。我怎么才能让它工作呢?
、
} 我的
基
类
中有一个虚拟
析
构
函数
和一个数组。如果
基
类
析
构
函数
被派生
类
析
构
函数
覆盖,则
基
射线不会被
删除
。什么是好的解决方案?
浏览 1
提问于2012-01-31
得票数 1
回答已采纳
1
回答
虚拟
析
构
函数
与普通
析
构
函数
编译器给了我一个选项:虚拟
析
构
函数
,但是我创建了一个没有虚拟
析
构
函数
的普通
类
。在此之前:之后:我之所以问这个问题,是因为我在“父”
类
中使用了其他
类
指针
。
浏览 0
提问于2017-03-14
得票数 0
4
回答
删除
带有
基
类
指针
的派生
类
时发生
内存
泄漏
、
、
我有一个
内存
泄漏
的问题。我有一个
基
类
指针
。从它开始,我使用new来分配不同的派生
类
。然后,当我尝试使用引用(不是类型转换)来delete这些
类
时,我得到了一个
内存
泄漏
。我研究了这个问题,发现我应该向
基
类
添加一个虚拟
析
构
函数
,但我尝试了一下,仍然有一个
内存
泄漏
;也就是说,根据我的任务管理器,每次使用
基</
浏览 2
提问于2011-03-04
得票数 5
回答已采纳
3
回答
在没有虚拟
析
构
函数
的情况下可能会发生
内存
泄漏
?
、
、
、
; derv() {b =1;} int main() base *pb = new derv(); } 我在derv
类
中没有虚拟
析
构
函数
,它只
删除
derv对象的基本部分吗??
浏览 0
提问于2012-01-06
得票数 11
回答已采纳
5
回答
删除
指向子类的
指针
时未释放C++
内存
、
、
我在代码中使用了动态
内存
分配,在尝试
删除
指向子类的
指针
时遇到了问题。当我使用delete关键字时,我发现原来分配的
内存
没有被释放。该功能与原始基
类
一起工作得很好。arbitrary number Sub* subPtr = new Sub; }} 我想这与
基
类
中
析
构
函数
的语法有关即使我为子类创建了一个自定义
浏览 0
提问于2013-03-22
得票数 5
回答已采纳
4
回答
类
具有
虚
函数
和可访问的非虚
析
构
函数
、
我有两个
类
:public:}; public: B(
浏览 2
提问于2011-04-29
得票数 17
回答已采纳
6
回答
当您
删除
c++中的
类
或结构时,会
删除
多少内容?
、
这只是我在读另一个问题时的一个空想: 如果这个问题中提到的字符是在一个对象中创建的,并且该对象被
删除
了,那么是否也会正确地清除
指针
,或者它们会被卡在
内存
中吗?
浏览 1
提问于2011-05-13
得票数 5
回答已采纳
5
回答
使用向上转换时的虚拟
析
构
函数
、
、
当至少有一个
类
方法是
虚
的时,每个人都说
析
构
函数
应该是
虚
的。}; { cout << "Exiting main" << endl;} 我在这段代码中没有任何
虚
函数
,但是如果我不把我的<e
浏览 2
提问于2011-05-13
得票数 3
回答已采纳
1
回答
虚拟
析
构
函数
--必要时
假设我有一个只有一个
虚
函数
的
基
类
X。我没有为X和Y提供显式的
析
构
函数
。Y y;return;.delete x;这将
导致
内存
泄漏
..
浏览 0
提问于2016-11-17
得票数 0
2
回答
C++继承:缺乏虚拟
析
构
函数
会
导致
内存
泄漏
吗?
、
、
、
我对一个我经常问自己的问题有疑问,这就是情况:class Base int myInt;{base = new Derived; delete derived;说第一个
删除
会
导致
内存
泄漏
,而第二个会
导致
<
浏览 6
提问于2015-12-28
得票数 3
3
回答
通过
删除
基
类
析
构
派生
类
、
、
、
在它的
析
构
函数
中这是可能的吗?或者我必须实现一个虚拟的销毁()方法或类似的东西吗?
浏览 0
提问于2010-07-31
得票数 1
回答已采纳
6
回答
为什么我要在C++中为抽象
类
声明一个虚拟
析
构
函数
?
、
、
我知道在C++中为
基
类
声明虚拟
析
构
函数
是一种很好的做法,但是即使对于用作接口的抽象
类
,声明virtual
析
构
函数
也总是很重要的吗?请提供一些原因和例子。
浏览 0
提问于2008-11-07
得票数 172
回答已采纳
4
回答
c++中的
析
构
函数
概念
、
、
; cout << Ptr->area() << endl; return 0;在上面的代码中,
指针
包含派生
类
对象的地址,所以当我
删除
指针
时,它应该调用派生
类
析
构
函数
和
基
类
析
构
函数
,但为什么它只调用
基
浏览 0
提问于2013-03-08
得票数 0
7
回答
如果我将一个
基
类
的
析
构
函数
从非虚改为
虚
,会发生什么?
、
、
、
我遇到了一个
基
类
,它的
析
构
函数
是非虚的,尽管
基
类
有一个
虚
函数
fv()。这个
基
类
也有很多子类。这些子类中有许多定义了自己的fv()。我想把
基
浏览 3
提问于2016-08-22
得票数 21
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
如何在C+中正确地使用多态和继承?掌握这些技巧,让你的程序性能和可维护性双双提升!
虚析构与纯虚析构(C+)
C+之虚函数
结构体对齐,字节对齐
关于C+的虚函数和多态,你觉得很难?首先你需要了解这三点!
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
腾讯会议
活动推荐
运营活动
广告
关闭
领券