腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
从
c++
中
派生类
的
析
构
函数
调用
虚
函数
下面是我
的
c++
代码片段 class A { virtual void method() {}; { } 我了解到,
从
构造
函数
或
析
构
函数
调用<
浏览 5
提问于2020-06-10
得票数 2
回答已采纳
2
回答
虚拟
析
构
函数
同时
调用
派生
析
构
函数
和基
析
构
函数
、
、
我在理解
虚
函数
时遇到了问题。当我重载一个
虚
函数
时,新
的
派生
函数
是否只被
调用
?或者同时使用派生
函数
和基
函数
?因为我注意到当
调用
虚拟
析
构
函数
时,基
析
构
函数
和
派生类
析
构
函数
也会被
调用
。
浏览 0
提问于2013-02-18
得票数 1
回答已采纳
6
回答
构造
函数
和
析
构
函数
的
纯
虚
调用
、
、
、
C++
标准规定禁止
从
构造
函数
或
析
构
函数
调用
纯
虚
函数
。这是什么原因呢?为什么标准要有这样
的
限制呢?
浏览 2
提问于2011-12-28
得票数 19
回答已采纳
4
回答
c++
中
的
析
构
函数
概念
、
、
请看一下我
的
以下代码:#include <iostream>using namespace std; Ptr->set_values(10, 20); delete Ptr;} 在上面的代码
中
,指针包含
派生类
对象
的
地址,
浏览 0
提问于2013-03-08
得票数 0
5
回答
我
的
基类中有一个虚拟
析
构
函数
和一个数组。我怎么才能让它工作呢?
、
} 我
的
基类中有一个虚拟
析
构
函数
和一个数组。如果基类
析
构
函数
被
派生类
析
构
函数
覆盖,则基射线不会被删除。什么是好
的
解决方案?
浏览 1
提问于2012-01-31
得票数 1
回答已采纳
3
回答
C++
虚拟
析
构
函数
、
如果我有一个基类和一个
派生类
,并且我删除了父
虚
类
中
的
析
构
函数
,但实例化了一个子类类型
的
对象,当它被销毁时,它会
调用
父
析
构
函数
吗(因为是
虚
的
)?如果我还在
派生类
中
声明了
析
构
函数
,它是否会同时
调用
析
构
浏览 2
提问于2011-04-26
得票数 3
回答已采纳
4
回答
如果使用基指针声明,为什么简单
析
构
函数
不删除派生对象
、
是否使得派生对象包含基类型
的
子对象,并且指针p实际上指向派生对象
的
基部分(子对象)。因此,当delete p运行时,它将只能删除
派生类
的
对象
的
基类部分,并且对于派生部分
的
销毁将具有未定义
的
行为。因此,为了避免内存泄漏,我们需要设法同时
调用
对象
的
基
析
构
函数
和派生
析
构
函数
,以避免内存泄漏!是这样吗?这就是我们需要虚拟
析</e
浏览 0
提问于2013-12-14
得票数 1
3
回答
C++
纯
虚
函数
具有正文
、
纯
虚
函数
(当我们设置= 0时)也可以有一个
函数
体。 如果它们根本不会被
调用
,那么为纯
虚
函数
提供
函数
体有什么用呢?
浏览 0
提问于2011-03-30
得票数 66
回答已采纳
4
回答
运行时多态性
中
的
构造
函数
行为
我们知道需要一个虚拟
析
构
函数
。Base *bptr = new Derived();如果
派生类
对象由基类指针指向,并且当该对象超出作用域时,除非
析
构
函数
是
虚
的
,否则只会
调用
基类
析
构
函数
。我想知道在这种情况下构造器是如何正常工作
的
。由于Base指针指向派生对象,因此应该只
调用
Base构造
函数</
浏览 0
提问于2011-07-19
得票数 0
回答已采纳
8
回答
虚拟
析
构
函数
是如何工作
的
?
、
、
、
几个小时前,我正在摆弄一个内存泄漏问题,结果发现我真的搞错了一些关于虚拟
析
构
函数
的
基本东西!让我来解释一下我
的
类设计。}{ b->push_elements();} 边界检查器工具报告
派生类
向量
中
存在内存泄漏我发现
析
构
函数
不是
虚
的
,
派生类<
浏览 5
提问于2010-04-27
得票数 6
回答已采纳
2
回答
虚拟
析
构
函数
是如何工作
的
?
我用
的
是gcc。我知道当我们销毁基类指针指向
的
派生类
对象时,
虚
析
构
函数
是如何解决这个问题
的
。我想知道它们是如何工作
的
?<endl;}{ delete a; return 0; 当我将A
的
析
构
函数
更改为
虚
<em
浏览 2
提问于2010-04-22
得票数 5
回答已采纳
3
回答
为什么虚拟
析
构
函数
的
行为是这样
的
?
我读到
虚
析
构
函数
必须在具有
虚
方法
的
类
中
声明。我就是不明白为什么一定要声明它们是虚拟
的
。我知道为什么我们需要使用虚拟
析
构
函数
,如下面的例子所示。我只想知道为什么编译器不为我们管理虚拟
析
构
函数
。关于虚拟
析
构
函数
的
工作有什么我需要知道
的
吗?下面的示例显示,如果<e
浏览 1
提问于2012-10-23
得票数 3
回答已采纳
1
回答
如何访问基类
中
的
派生类
纯虚拟实现?
我
的
示例代码如下:public:public:}; 我理解不能在构造
函数
/
析
构
函数
中
调用
纯<em
浏览 1
提问于2014-02-23
得票数 0
回答已采纳
2
回答
为纯虚拟
析
构
函数
添加定义
的
目的是什么?
、
、
灵感来自:我认为纯
虚
函数
的
意义在于强制子类实现特定
的
函数
。如果是这样的话,为什么还要在虚拟基类
中
实现相同
的
函数
呢?
浏览 1
提问于2011-03-11
得票数 3
回答已采纳
4
回答
如果基类
析
构
函数
是
虚
的
,是否需要定义
派生类
析
构
函数
?
、
b->initialize(static_cast<base *>(d)); /* filling list */ return 0;Q.1)为什么
派生类
的
析
构
函数
没有被
调用
,因为在基类
析
构
函数
中
我正在执行values.clear() Q.2)如果基类
析
构
函数
是
虚
<e
浏览 0
提问于2012-04-23
得票数 4
4
回答
为什么我们要在这种情况下实现纯虚拟
函数
?
我
的
代码:{ A(){} virtual ~A() = 0; int a;我想知道,我们需要一直实现纯
虚
函数
吗?
浏览 1
提问于2013-08-07
得票数 4
6
回答
为什么我要在
C++
中
为抽象类声明一个虚拟
析
构
函数
?
、
、
我知道在
C++
中
为基类声明虚拟
析
构
函数
是一种很好
的
做法,但是即使对于用作接口
的
抽象类,声明virtual
析
构
函数
也总是很重要
的
吗?请提供一些原因和例子。
浏览 0
提问于2008-11-07
得票数 172
回答已采纳
2
回答
使用带有多态性
的
默认构造
函数
合适吗?
、
我基本上有这样
的
东西:{ CGlToolBase(void) virtual void OnMouseDownvoid OnLDoubleClick(CGlEngine &glEngine, WPARAM wParam, LPARAM lParam);};CGlTool
浏览 3
提问于2010-08-01
得票数 2
回答已采纳
1
回答
为什么虚拟
析
构
函数
被分层
调用
,而其他虚拟
函数
却没有?
、
、
我不明白
派生类
析
构
函数
如何
调用
它
的
基类虚拟
析
构
函数
,但是
派生类
的
其他成员
函数
不会
调用
它们
的
基类虚拟对应
函数
。 这是
C++
对其
析
构
函数
的
特殊处理吗?
浏览 9
提问于2022-10-02
得票数 2
2
回答
可以
从
抽象类构造
函数
中
调用
虚
方法吗?
、
目前,我在每个孩子
的
构造
函数
中都有图中提到
的
“大量代码”。我
的
目标是将它移到父对象
的
构造
函数
中
。
浏览 0
提问于2013-05-05
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
当对象释放时,避免析构函数调用两次
掌握这些技巧,让你的程序性能和可维护性双双提升!
C+之虚函数
结构体对齐,字节对齐
C+笔记八十:继承中的对象模型
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券