diamond-problem

diamond-problem

文章 0 浏览 7

C++多重继承 - 为什么你不工作?

我正在尝试找出一个有趣的多重继承问题。 祖父母是一个具有多个方法的接口类: class A { public: virtual int foo() = 0; virtual int bar() = 0; };…

狼性发作 2024-11-04 20:24:15 12 0

菱形多态继承:sizeof 最派生类

我知道菱形继承会导致歧义,可以通过通过虚拟基类使用继承来避免它,问题不在于它。问题是当类是多态时,菱形层次结构中最派生的类的大小。这是示例代…

手心的海 2024-10-28 21:29:21 12 0

Flora-2 钻石传承

Flora-2 是一种古怪的语言,我知道这是一个不太可能的事情,但我还没有找到任何专门用于它的活跃资源,所以我在这里尝试。它是如此受欢迎......它没有…

清君侧 2024-10-28 19:28:07 15 0

c++ 中没有虚函数的多重继承

我遇到了钻石问题,并用一颗钻石找到了针对不同情况的不同解决方案。但是我找不到“链接”钻石的解决方案。 根据结构:是的,我每次都想有多个基类,…

过期以后 2024-10-24 01:30:16 10 0

C++ / 钻石继承 / 静态变量

我面临一些设计问题,我想写: class A { ... }; class B : public A { static string type_; ... }; class C : public A { static string type_; ...…

旧城空念 2024-10-20 23:04:16 9 0

使用第三方库的钻石继承问题

我似乎发现了一个案例,我应该遭受“可怕的”钻石继承问题的困扰。然而,该代码似乎工作得很好。我似乎无法确定是否存在问题。 这是设置。我正在使用 …

无所谓啦 2024-10-20 09:04:57 15 0

接口的钻石问题

我使用许多抽象类,它们仅定义纯虚函数和虚拟(非纯)析构函数。 不使用虚拟继承,钻石继承结构还可以吗? (我想确保即使某些程序员不知道他应该使用…

孤云独去闲 2024-10-12 03:50:20 13 0

C++奇怪的钻石继承问题

我有这个 A / \ B C \ / D A 有一个纯虚函数,原型为: virtual A* clone(void) const = 0; B 和 C 实际上继承自 A ( class B: public virtual A, cla…

后知后觉 2024-09-16 09:02:47 15 0

C++ - 在没有 RTTI/dynamic_cast 的情况下向下转换菱形继承对象

我目前正在致力于在非 RTTI 平台(Android)上集成一个使用大量 RTTI 内容的第三方包。基本上,我做了自己的 RTTI 实现,但遇到了一个问题。 问题是很…

旧城空念 2024-09-11 11:44:55 17 0

C++同名的虚拟覆盖函数

我有类似的东西(简化) class A { public: virtual void Function () = 0; }; class B { public: virtual void Function () = 0; }; class Impl : pu…

痞味浪人 2024-09-07 07:01:54 13 0

为什么这个菱形图案有歧义?

#include using namespace std; class A { public: void eat(){ cout<<"A";} }; class B: public A { public: void eat(){ cout<<"B";} }; class C: p…

风筝在阴天搁浅。 2024-08-29 13:53:35 15 0

虚拟继承如何解决“钻石”问题(多重继承)歧义?

class A { public: void eat(){ cout<<"A";} }; class B: virtual public A { public: void eat(){ cout<<"B";} }; class C: virtual public A { publ…

挥剑断情 2024-08-29 02:42:57 23 0

C++多重继承阻止钻石

有没有办法在 C++ 中定义类 Foo 这样 我就可以继承它, 我不能从中“钻石继承”, 即 class Cat: public Foo{} // okay class Dog: public Foo{} // o…

分分钟 2024-08-22 18:24:35 19 0

Java:你如何称呼这种多重继承歧义?

这是一个在 Java 中使用多接口继承的示例,但存在一个问题。 请注意,我完全知道为什么会出现问题,但这不是我问题的重点。问题是如何命名这个特定的…

贱贱哒 2024-08-21 16:23:19 12 0

使用虚拟继承来防止意外创建菱形是否可以接受?

这是一些真实代码的简化,当我没有意识到其他人已经实现了 Foo 并从中派生时,我犯了一个真正的错误。 #include struct Base { virtual ~Base() { } v…

戏剧牡丹亭 2024-08-05 03:22:40 13 0
更多

推荐作者

牛↙奶布丁

文章 0 评论 0

COSO

文章 0 评论 0

落叶

文章 0 评论 0

暗地喜欢

文章 0 评论 0

qq_i8qOEG

文章 0 评论 0

qq_Wl4Sbi

文章 0 评论 0

更多

友情链接

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