腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
4
回答
为什么
基
类
不强制(C++)
虚拟
析
构
函数
c++
、
oop
、
compiler-construction
、
destructor
、
theory
析
构
函数
在默认情况下不是
虚拟
的
,在不
需要
的
时候不会受到伤害,这很好。 但是,在
基
类
派生类
场景中,
是否
存在没有
虚拟
析
构
函数
的
用例?
如果
没有,编译器可以(
是否
合理)抱怨某个
类
派生自
定义
了公共非
虚拟
析
构
浏览 7
提问于2010-06-20
得票数 13
回答已采纳
3
回答
在
派生类
中
是否
需要
显式声明
析
构
函数
?
c++
、
virtual
、
destructor
} 通过指向
基
的
指针删除对象会调用未
定义
的
行为,除非
基
类
中
的
析
构
函数
是
虚拟
的
。通常
的
指导原则是,
基
类
的
析
构</
浏览 6
提问于2014-02-13
得票数 4
回答已采纳
2
回答
多态
类
中
的
虚拟
析
构
函数
c++
、
inheritance
、
polymorphism
我理解,每当您有一个多态
基
类
时,
基
类
都应该
定义
一个
虚拟
析
构
函数
。这样,当删除指向
派生类
对象
的
基
类
指针时,它将首先调用
派生类
的
析
构
函数
。
如果
我错了,请纠正我。此外,
如果
基
类
析
构</
浏览 0
提问于2015-03-31
得票数 4
回答已采纳
4
回答
如果
使用
基
指针声明,为什么简单
析
构
函数
不删除派生对象
c++
、
inheritance
是否
使得派生对象包含
基
类型
的
子对象,并且指针p实际上指向派生对象
的
基部分(子对象)。因此,当delete p运行时,它将只能删除
派生类
的
对象
的
基
类
部分,并且对于派生部分
的
销毁将具有未
定义
的
行为。因此,为了避免内存泄漏,我们
需要
设法同时调用对象
的
基
析
构
函数
和派生
析</e
浏览 0
提问于2013-12-14
得票数 1
7
回答
虚拟
析
构
函数
的
默认覆盖
c++
、
c++11
、
c++14
每个人都知道
基
类
的
描述器通常必须
是
虚拟
的
。但是
派生类
的
析
构
函数
又是什么呢?在C++11中,我们有关键字"override“和显式使用默认
析
构
函数
的
能力。{{ ~Child() override = defa
浏览 1
提问于2016-12-07
得票数 65
3
回答
需要
从c++中
的
派生类
调用
基
析
构
函数
方法吗?
c++
、
destructor
、
derived-class
、
base-class
请考虑以下几点 base();}: 当派生对象被
析
构
并且
派生类
没有
定义
析
构
函数
时,
是否
会自动调用
基
类
析
构
函数
?否则,
如果
我在
派生类
中也有
析
构
函数
,我
浏览 2
提问于2011-04-05
得票数 8
回答已采纳
3
回答
C++
虚拟
析
构
函数
c++
、
virtual-destructor
如果
我有一个
基
类
和一个
派生类
,并且我删除了父虚
类
中
的
析
构
函数
,但实例化了一个子类类型
的
对象,当它被销毁时,它会调用父
析
构
函数
吗(因为
是
虚
的
)?
如果
我还在
派生类
中声明了
析
构
函数
,它
是否
会同时调用
析
构
浏览 2
提问于2011-04-26
得票数 3
回答已采纳
3
回答
基
类
没有
析
构
函数
,但
派生类
有。我
是否
需要
寻找与堆无关
的
陷阱?
c++
、
inheritance
、
destructor
在继承方面,我知道建议您
的
类
的
析
构
函数
是
虚拟
的
,因此除了任何派生
析
构
函数
之外,
基
类
的
析
构
函数
都会被正确调用。但是,我想知道在下面的场景中
是否
存在与派生对象相关
的
堆栈相关问题。让我们假设我们有一个
基
类
,它没
浏览 6
提问于2016-05-22
得票数 2
回答已采纳
2
回答
在
析
构
函数
中保存一个std::lock_guard安全吗?
c++
、
multithreading
、
destructor
我正在尝试确定以下代码
是否
安全,或者它
是否
是
UB,并且只在本例中运行良好(运行它为):#include <mutex> {}对于
浏览 1
提问于2019-05-01
得票数 6
回答已采纳
1
回答
为什么
派生类
中
的
虚拟
析
构
函数
是
空
的
?
c++
我有一个问题,我看到在一些代码中,
派生类
中
的
虚拟
析
构
函数
是
空
的
,那么为什么我们
需要
它,因为它什么也不做?它
是否
用于调用
基
类
中
的
析
构
函数
,
如果
没有它,则不能调用
析
构
函数
?或者仅仅是一个符号,告诉代码阅读器这个
析
构</
浏览 4
提问于2014-10-25
得票数 4
回答已采纳
1
回答
所有
派生类
必须实现自己
的
析
构
函数
,否则报告编译错误?
c++
、
oop
、
c++11
、
inheritance
最近面试官问我以下问题:“允许从
基
类
继承
派生类
,但所有
派生类
必须实现用户
定义
析
构
函数
。
如果
派生类
没有
定义
用户
定义
析
构
函数
,则报告编译错误。”知道吗,怎么解决这个问题?考虑到在
基
类
中使用纯
虚拟
析
构
函数
来解决这个问题,但它并没
浏览 2
提问于2015-10-20
得票数 4
1
回答
为什么
虚拟
析
构
函数
被分层调用,而其他
虚拟
函数
却没有?
c++
、
destructor
、
virtual-functions
我不明白
派生类
析
构
函数
如何调用它
的
基
类
虚拟
析
构
函数
,但是
派生类
的
其他成员
函数
不会调用它们
的
基
类
虚拟
对应
函数
。 这是C++对其
析
构
函数
的
特殊处理吗?
浏览 9
提问于2022-10-02
得票数 2
1
回答
虚拟
基
类
析
构
函数
调用顺序?
c++
、
polymorphism
、
destructor
C++常见问题项目20.05: “数据成员
析
构
函数
,然后
是
基
类
析
构</
浏览 1
提问于2014-08-08
得票数 4
2
回答
继承层次结构中
的
析
构
函数
排序
c++
、
inheritance
、
polymorphism
、
virtual-destructor
如果
我有以下层次结构:
浏览 0
提问于2013-02-28
得票数 1
回答已采纳
1
回答
从我
的
循环链接列表中删除方法
定义
得很好吗?
c++
、
linked-list
、
destructor
、
doubly-linked-list
、
circular-list
我正在构建一个循环链表,我想知道do_remove方法
是否
定义
得很好。当我运行这个程序时,它向我展示了它是,然而,我仍然有点困惑,为什么我不
需要
一个
虚拟
的
destrutor在这种情况下。
是否
只有当我想通过
派生类
的
基本指针销毁
派生类
时才
需要
虚拟
析
构
函数
? 这
是否
意味着,通过将
基
类
降为
派生
浏览 1
提问于2017-12-17
得票数 0
回答已采纳
1
回答
派生类
破坏
的
最佳实践是什么?
c++
、
c++11
、
destructor
我们知道
基
类
析
构
函数
被标记为
虚拟
类
,以便将
派生类
实例正确地销毁为
基
类型指针。那么,以下
派生类
析
构
器实践之间有什么区别呢?~Derived();Destructor 简单
析
构
函数
:带有覆盖
的
~Derived() override;Default
析
构
函数
:~De
浏览 1
提问于2020-07-13
得票数 0
回答已采纳
2
回答
确定方法
是否
为纯
虚拟
方法(c++)
c++
、
destructor
、
pure-virtual
是否
有方法在c++中确定一个方法在运行时
是否
是
纯
虚拟
的
?实际上,问题
是
是否
有一种方法可以知道
派生类
的
析
构
函数
是否
已经执行,但是
基
类
仍然活着。Edit:-------------------- 正如一些人所指出
的
,纯粹
的
虚拟
并不是真正
的
问题。它正在进入
浏览 5
提问于2017-01-09
得票数 0
1
回答
C# -“
析
构
函数
不是继承
的
”实际上是什么意思?
c#
、
.net
、
idisposable
、
destructor
、
finalization
我用各种实际例子研究了这一点,包括一个
基
类
定义
了
析
构
函数
,一个
派生类
继承了
基
类
,而没有
定义
析
构
函数
。创建
派生类
的
实例,允许对实例
的
所有引用超出作用域,然后强制垃圾收集,演示了在最后确定
派生类
的
实例时调用
基
类
中
定义
的
浏览 3
提问于2009-12-08
得票数 13
回答已采纳
4
回答
按照
定义
,在接口中放置一个“
虚拟
析
构
函数
”不再
是
接口了吗?
c++
、
interface
、
terminology
、
pure-virtual
到目前为止,我对这一进程
的
看法如下: --有时
是
基
类
,有时
是
继承自
基
类
的
派生类
。接口
是
任何只带有的纯
虚拟
函数
的
类
。
如果
从这个接口
类
派生出一个新
类
并实现所有纯
虚拟
函数
,那么您最终可以创建
派生类
的
一个实例。“
虚拟</e
浏览 6
提问于2011-08-06
得票数 26
6
回答
纯抽象
类
的
虚拟
析
构
函数
c++
、
abstract-class
、
virtual-destructor
基于我发现
的
和堆栈溢出上
的
其他链接,
如果
我们计划以多形性方式使用它,那么我们应该始终在
基
类
中
定义
一个
虚拟
析
构
函数
。我想知道这条规则
是否
有例外。我已经看到了不为纯抽象
基
类
定义
虚拟
析
构
函数
的
生产代码,在cppcon 2014视频中,大约10:06
定义</
浏览 1
提问于2019-07-30
得票数 5
回答已采纳
点击加载更多
相关
资讯
C+之虚函数
Python基础(三)类和对象简介
手把手教你:如何把C+的源程序改写成C语言
虚析构与纯虚析构(C+)
【C#】-C#Dispose模式详细分析
热门
标签
更多标签
云服务器
对象存储
ICP备案
云点播
腾讯会议
活动推荐
运营活动
广告
关闭
领券