virtual-destructor

virtual-destructor

文章 0 浏览 6

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

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

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

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

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

草莓酥 2024-11-06 20:30:01 9 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 5 0

C++虚拟析构函数

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

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

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

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

笔芯 2024-10-31 03:51:05 5 0

错误 LNK2019 - 抽象类中的虚拟析构函数

可能的重复: C++ 中的纯虚拟析构函数 我有两个类:抽象的“Game”类和派生“TestGame”类。 TestGame 中的所有函数都是单独实现的(为了编译)。我…

国际总奸 2024-10-06 08:28:32 9 0

C++如果派生中没有数据成员,是否还需要虚拟析构函数?

假设我有这段代码, class Base{ public: int getVal(); private: int a, b; }; class Derived::public Base{ public: void printVal(); }; int main(…

倾城°AllureLove 2024-09-27 07:51:21 7 0

为什么shared_ptr没有虚拟析构函数? (我该如何解决这个问题?)

我想制作一个特殊版本的 shared_ptr ,在创建或销毁时执行特定操作,但我的计划似乎因 shared_ptr 的析构函数的实现而失败是非虚拟的,这意味着当我覆…

深空失忆 2024-09-25 01:02:23 10 0

强制虚拟析构函数? C++

我在 C++ Faq lite: How do I Define a base class so every class inheriting it is required to Define a destructor? 中没有看到这个问题的答案: …

半世晨晓 2024-09-19 03:21:06 10 0

基类 'class std::vector<...>'有一个非虚拟析构函数

我的一个 C++ 类派生自 std::vector,因此它可以充当容器,还可以对其内容执行自定义操作。不幸的是,编译器抱怨析构函数不是虚拟的,我无法更改它,…

寂寞清仓 2024-09-17 05:26:41 14 0

使用虚拟破坏顺序

有人可以帮助我使用虚拟函数时的破坏顺序吗?是从基类开始,然后是派生类吗?…

若言繁花未落 2024-09-14 10:27:36 13 0

纯抽象基类上的虚拟析构函数

我有 struct IMyInterface { virtual method1() = 0; virtual method2() = 0; }; 海湾合作委员会坚持认为我有 struct IMyInterface { virtual method1…

静赏你的温柔 2024-09-11 14:44:20 9 0

我是否还需要在子类方法上指定 virtual ?

以前可能有人问过这个问题,但我找不到类似的问题。 考虑以下类层次结构: class BritneySpears { public: virtual ~BritneySpears(); }; class Daugh…

北城挽邺 2024-09-08 04:18:17 8 0

C++虚拟析构函数

创建原型类时,我这样布置析构函数: virtual ~MyClass(); 当在库中完成该类时,我注意到我无法添加“虚拟”。这是正常的吗?是否考虑到了虚拟因素,…

寂寞美少年 2024-09-05 18:56:00 8 0

基析构函数在派生对象之后调用两次?

嘿,为什么在这个程序结束时基析构函数被调用两次? #include using namespace std; class B{ public: B(){ cout << "BC" << endl; x = 0; } virtual …

如梦亦如幻 2024-09-05 03:37:04 11 0
更多

推荐作者

琉璃梦幻

文章 0 评论 0

qq_4zWU6L

文章 0 评论 0

话少情深

文章 0 评论 0

彻夜缠绵

文章 0 评论 0

千寻…

文章 0 评论 0

更多

友情链接

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