virtual-destructor

virtual-destructor

文章 0 浏览 4

为什么 c++ 中有虚拟析构函数而不是虚拟构造函数?

为什么我们可以有虚析构函数但不能有虚构造函数?…

回眸一笑 2024-12-09 10:13:57 0 0

在析构函数中调用 Inherited IUnknown::Release()

为什么在析构函数中对 IWICImagingFactory 对象调用继承的 IUnknown::Release() 函数会导致对象的虚拟函数表 (__vfptr) 中的每个条目显示“CXX0030:…

屋檐 2024-12-07 17:47:03 1 0

从析构函数体内部或外部调用叶类的成员函数有区别吗?

我有一个特定的情况,很难在代码片段中隔离,但我可以解释它...... 我有一个类 A : public B 和 A 有一个某种类型 foo * f 的成员指针。在 A 的虚拟…

妄断弥空 2024-12-07 03:06:07 1 0

关于隐式删除的虚拟析构函数的错误消息是什么?

我刚刚在 Windows、MinGW 下将 GCC 从(我认为)4.5.6 更新到 4.6.1。突然,我的 NonInstantiable 基类(您使用 public virtual 继承以防止实例化)拒…

离旧人 2024-12-07 01:47:21 0 0

执行“删除此”操作时缺少虚拟析构函数

C++ FAQ Lite 的 16.15 部分讨论了 删除此然后提到: 当然,通常的警告适用于 this 指针的情况 当您没有虚拟析构函数时,指向基类的指针。 为什么这是…

世界如花海般美丽 2024-12-05 09:45:25 1 0

何时以及为何不应将基类中的析构函数定义为虚拟?

下面的这个例子说明了如何防止派生类被复制。它基于一个基类,其中复制构造函数和复制赋值运算符均声明为 private。 class Uncopyable { protected: /…

海风掠过北极光 2024-11-28 12:47:36 0 0

Undef 引用非 Q 中的构造函数和析构函数中的 vtable

我有一个基类 GameObject,它当前是 Camera 和 SolidObject 的父类。 SolidObject 是 Player 和 GameMap 的父对象。由于某种原因,我只在 GameMap 的…

晨曦慕雪 2024-11-23 20:35:58 1 0

如果您总是将其存储在shared_ptr中,您的接口是否需要虚拟析构函数?

由于 boost::/std::shared_ptr 具有类型擦除其删除器的优势,因此您可以做一些不错的事情,例如 #include typedef std::shared_ptr gc_ptr; int main(…

虫児飞 2024-11-19 08:44:12 3 0

为什么析构函数默认不是虚拟的 [C++]

为什么 C++ 不默认将析构函数设为虚拟对于至少有一个其他虚函数的类?在这种情况下,添加虚拟析构函数不会花费我任何成本,而没有虚拟析构函数(几乎…

软甜啾 2024-11-19 06:52:08 3 0

纯虚析构函数应该在哪里声明?

编辑:显然这个问题表述得不够清楚。我遇到的问题是,当在标头中定义析构函数时,它会添加到多个 .obj 文件中,并且链接器会抱怨。实际问题是: 当我…

日裸衫吸 2024-11-10 14:13:19 3 0

直接调用(虚拟)析构函数是否有效?

在这个答案中,Ryan直接调用虚拟析构函数。我已经在VS2010中测试了代码,它正确地调用了所有析构函数(使用日志语句进行测试)。这样做实际上有效吗?…

羞稚 2024-11-08 01:24:12 5 0

使用向上转换时的虚拟析构函数

每个人都说,当至少有一个类方法是虚拟的时,析构函数应该是虚拟的。 我的问题是,使用向上转换时析构函数应该是虚拟的,这不是正确的说法吗? class …

草莓酥 2024-11-06 20:30:01 5 0

类具有虚函数和可访问的非虚析构函数

我有两个类: class A { public: virtual void somefunction() = 0; }; class B : public A { public: B(); ~B(); void somefunction(); }; B::B() {}…

信仰 2024-11-04 07:53:21 3 0

C++虚拟析构函数

如果我有一个基类和一个派生类,并且我在父类 virtual 中删除了析构函数,但实例化了一个子类类型的对象,那么在销毁时它将调用父类析构函数(因为 vi…

握住我的手 2024-11-03 11:22:31 5 0

对于虚拟析构函数,我是否需要为每个子类显式声明一个虚拟析构函数?

我有一个场景,我正在编写一些深入的面向对象的代码,具有多层抽象基类,我想知道是否必须为每个层显式声明一个析构函数。 编译器会生成一个已经是虚…

笔芯 2024-10-31 03:51:05 3 0
更多

推荐作者

已经忘了多久

文章 0 评论 0

15867725375

文章 0 评论 0

LonelySnow

文章 0 评论 0

走过海棠暮

文章 0 评论 0

轻许诺言

文章 0 评论 0

信馬由缰

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文