腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
当使用
受
保护
的
非虚拟
析
构
函数
时,禁止删除-非虚拟-dtor警告。
c++
、
g++
main.cc:15:9: error:删除
具有
非虚拟
析
构
函数
的
抽象
类
类型
‘Foo’
的
对象将导致未定义
的
行为-dtor= delete -非虚拟dtor删除f;^ main.cc:15:9: error:删除
具有
非虚拟
析
构
函数
的
多态
浏览 1
提问于2017-04-07
得票数 13
回答已采纳
1
回答
受
保护
的
析
构
函数
禁止在堆栈上
创建
派生
类
的
对象?
c++
、
crtp
、
class-template
在这个关于反复出现
的
模板模式
的
网页中,派生
类
可以在堆栈上
实例
化
(对象反示例,其中
基
类
模板有一个
受
保护
的
析
构
函数
):。我自己编
的
。objects_alive( 0 ); {}; {
浏览 2
提问于2017-08-02
得票数 0
回答已采纳
1
回答
通过
实例
化
具有
受
保护
析
构
函数
的
父
类型
的
基
类
创建
的
空闲
内存
c++
、
arduinojson
//Tried this, causes: "Parent::~Parent()" is inaccessible} 如您所见,我正在使用 要
创建
因为我需要它比
函数
。我不能更改
类型
在 因为我需要它同时接受 和一个 ..。考虑到
的
析
构
函数
,这在某种程度上是有意义
的
是
受
保护
的
。我无法控制 或者 ..。它们是外部
浏览 20
提问于2021-03-01
得票数 0
回答已采纳
3
回答
虚拟
析
构
函数
必须是公共
的
吗?
c++
、
destructor
我发现几乎每个虚拟
析
构
函数
的
代码片段都将其作为公共成员
函数
,如下所示:{ virtual ~Base() cout << "~Derived : public Basepublic: { } 虚拟
析
构</e
浏览 25
提问于2013-03-20
得票数 17
回答已采纳
2
回答
防止
类
被
实例
化
c++
、
abstract
最近有人问我以下问题:其中之一是使
基
类
抽象(
通过
添加一个纯虚拟
函数
)。 其次,将构造
函数
放在
受
保护
的
部分
浏览 1
提问于2013-10-30
得票数 1
回答已采纳
3
回答
基
类
中
受
保护
的
非虚拟
析
构
函数
。
c++
、
protected
、
virtual-destructor
我正在尝试理解虚拟
析
构
函数
。下面是来自此页面的复制粘贴 在这里,您会注意到我没有声明Base
的
析
构
函数
是虚拟
的
。如果希望防止
通过
基
类
指针删除
实例
,则可以使
基
类
析
构
函数
受到
保护
且非虚拟;这样,编译器将不允许调用
基
类
指针上
的
浏览 4
提问于2013-10-25
得票数 5
回答已采纳
1
回答
为
受
保护
的
虚拟
析
构
函数
基
类
重置unique_ptr
c++
在这种情况下,我必须根据条件
创建
一个A或B
类型
的
对象。A和B都是从同一个
基
类
继承
的
,在本例中是Base。
基
类
具有
一个虚拟
受
保护
的
析
构
函数
。我正在调用member.reset(),但是由于
析
构
函数
被声明为
受
保护
,所以会得到一个编译器错误。但我
浏览 7
提问于2022-09-14
得票数 0
4
回答
C++非抽象
析
构
函数
继承
c++
、
inheritance
、
c++11
我以前见过这样
的
问题,但不清楚,也不像我遇到
的
情况一样。 我有一个抽象
的
基
类
。它有一个
受
保护
的
构造
函数
和一个
析
构
函数
。它由几个完整
类型
继承,这些
类型
还
具有
公共构造
函数
和
析
构
函数
。如果对象被
基
类型
引用,则删除对象不会调用子<
浏览 3
提问于2014-11-04
得票数 1
回答已采纳
1
回答
隐式声明
析
构
函数
c++11
、
inheritance
、
virtual
、
destructor
如果我是正确
的
,默认
析
构
函数
总是隐式声明
的
,除非用户声明它。根据 struct B {};隐式声明
的
析
构
函数</e
浏览 2
提问于2021-09-28
得票数 1
回答已采纳
1
回答
通过
指向
基
类
的
指针删除没有新成员
的
派生
类
c++
通过
指向
基
类
的
指针删除派生
类
实例
的
常见做法是在
基
类
中声明虚拟
析
构
函数
。但我很好奇,如果派生
类
没有向
基
类
添加新成员,而且
基
类
的
析
构
函数
是非虚拟
的
,那么会发生什么情况。 想象一下,下面的设计。
基</e
浏览 0
提问于2020-03-24
得票数 2
回答已采纳
6
回答
接口
的
虚拟
析
构
函数
c++
、
polymorphism
接口需要虚拟
析
构
函数
,还是自动生成
的
?例如,下面两个代码段中哪一个是最好
的
,为什么呢?请注意,这是全班学生。答案:我很清楚,“虚拟”标记意味着,如果
通过
指向派生
的
指针删除
析
构
函数
,则不会调用
析
构
函数
浏览 0
提问于2010-06-03
得票数 10
回答已采纳
3
回答
C++继承问题
c++
、
inheritance
、
subclass
A
保护
constructor/destructor?A
保护
继承
的
主
类
?如果它太宽泛了,你可以用一个简单
的
例子来说明你可能在哪里使用它,因为我只是在寻找一个开始
的
想法。
浏览 5
提问于2011-09-10
得票数 0
回答已采纳
2
回答
类
有虚拟方法,但非虚拟
析
构
函数
C++。
c++
、
eclipse
、
methods
、
virtual
可能重复: // ~PascalSymbolGenerator(void) {} // <== warning if used只要构造
函数
/
析
构
函数
无效,声明
析
构
函数
为
受
保护
的
就没有问题。当
类
浏览 2
提问于2012-09-30
得票数 8
回答已采纳
3
回答
防止非多态c++
基
类
的
实例
化
c++
、
instantiation
我有一个不是多态
的
基
类
,但我希望防止它被
实例
化
。我应该给这个
基
类
一个纯虚拟
析
构
函数
来防止它被
实例
化
吗?但是,给一个非多态
基
类
一个虚拟
析
构
函数
是错误
的
还是错误
的
呢?
浏览 8
提问于2015-07-21
得票数 13
回答已采纳
4
回答
让一个
受
保护
的
析
构
函数
虚化有用吗?
c++
、
inheritance
、
protected
、
virtual-destructor
}{ delete p2;} 如果我把Parent
的
析
构
函数
设为虚
的
,那么我会得到一个错误,那么把一个
受
保护
的
析
构
函数
设为虚
的
目的是什么呢?
浏览 0
提问于2012-01-23
得票数 11
回答已采纳
4
回答
如果虚拟
析
构
函数
是在派生
类
中定义
的
,而不是在层次结构
的
顶部定义
的
,那该怎么办?C++
c++
、
virtual
、
destructor
、
hierarchy
我想知道定义一个没有虚拟
析
构
函数
的
基
类
,然后用虚拟
析
构
函数
定义继承
的
类
是正确
的
吗?如果我这样做,实际会发生什么?
浏览 0
提问于2014-12-18
得票数 0
1
回答
为什么我们不能从派生
类
调用
受
保护
的
析
构
函数
?
c++
、
oop
、
inheritance
、
c++11
、
destructor
我知道私有(当然还有公共)
析
构
函数
的
使用。 使用
受
保护
的
析
构
函数
来防止
通过
基
类
指针破坏派生对象。如果我从f()内部调用A中
的
受
保护
方法,它就会
浏览 1
提问于2013-10-19
得票数 11
回答已采纳
6
回答
纯抽象
类
的
虚拟
析
构
函数
c++
、
abstract-class
、
virtual-destructor
基于我发现
的
和堆栈溢出上
的
其他链接,如果我们计划以多形性方式使用它,那么我们应该始终在
基
类
中定义一个虚拟
析
构
函数
。我想知道这条规则是否有例外。我已经看到了不为纯抽象
基
类
定义虚拟
析
构
函数
的
生产代码,在cppcon 2014视频中,大约10:06定义
的
BoolExp结构是一个纯抽象
类
,没有虚拟
析
构
浏览 1
提问于2019-07-30
得票数 5
回答已采纳
11
回答
具有
非虚
析
构
函数
的
派生
类
c++
在某些情况下,派生
类
具有
非virtual
析
构
函数
是合法
的
吗?非virtual
析
构
函数
表示
类
不应用作
基
类
。让派生
类
的
非virtual
析
构
函数
充当Java final修饰符
的
弱形式吗?我特别感兴趣
的
是派生
类
的
基</em
浏览 2
提问于2011-09-13
得票数 69
回答已采纳
1
回答
绕过错误C2248
的
有效方法“无法访问
类
中声明
的
受
保护
成员”
c++
、
protected
、
derived-class
、
poco-libraries
为了
创建
日志机制,我
创建
了一个
类
,它使用poco示例中
的
以下代码:然而,当我试图用poco AutoPtr指针替换poco SharedPtr时,我会得到以下构建错误: C2248 'Poco::FileChannel::~FileChannel':无法访问
类
'Poco::FileChannel'中声明
的
浏览 0
提问于2017-04-24
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
虚析构与纯虚析构(C+)
系统学习PHP之面向对象(上)
结构体对齐,字节对齐
掌握这些技巧,让你的程序性能和可维护性双双提升!
关于C+的虚函数和多态,你觉得很难?首先你需要了解这三点!
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券