diamond-problem

diamond-problem

文章 0 浏览 4

编译器内部如何解决C++中的钻石问题?

我们知道可以使用虚拟继承来解决钻石问题。 例如: class Animal // base class { int weight; public: int getWeight() { return weight;}; }; class…

恏ㄋ傷疤忘ㄋ疼 2024-12-03 23:51:31 3 0

霸权继承——真的很糟糕吗?

我是那些必须在 0 警告的情况下编译代码的人之一。通常我尊重编译器,如果它向我发出警告,我会将其视为我应该稍微修改我的代码的标志。如果我必须告…

我是有多爱你 2024-11-29 21:06:30 1 0

C++通过统治警告进行继承

我正在尝试实现一个相当大的对象,该对象实现了许多接口。其中一些接口是纯虚拟的。我可能在钻石继承方面遇到问题。 Visual Studio 报告 C4250 警告(…

孤独难免 2024-11-26 15:23:31 1 0

有一种用Java模拟钻石问题的方法

有办法用 Java 模拟钻石问题吗?带接口? 谢谢, 塞尔索…

回忆凄美了谁 2024-11-26 05:37:39 1 0

C++解决钻石问题

仅仅使用找到的第一个继承声明就不能解决钻石问题吗?我的意思是, public class A { public virtual int getInt(); }; public class B : public A { …

原来分手还会想你 2024-11-24 05:11:12 2 0

为什么单一虚拟继承不足以解决可怕的钻石问题?

struct B { int i; }; struct D1 : virtual B {}; struct D2 : B {}; // <-- not virtual struct DD : D1, D2 {}; 完成上述编码后,编译器仍然要求 D2…

财迷小姐 2024-11-19 04:37:15 4 0

关于 C++ 中多重继承的问题?

我有以下代码: #include "stdafx.h" #include #include using namespace std; #define MNAME 30 class Person { public: char name[MNAME + 1]; }; c…

烟燃烟灭 2024-11-08 04:45:17 6 0

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

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

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

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

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

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

Flora-2 钻石传承

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

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

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

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

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

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

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

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

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

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

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

接口的钻石问题

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

孤云独去闲 2024-10-12 03:50:20 7 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 9 0
更多

推荐作者

胡图图

文章 0 评论 0

zt006

文章 0 评论 0

z祗昰~

文章 0 评论 0

冰葑

文章 0 评论 0

野の

文章 0 评论 0

天空

文章 0 评论 0

更多

友情链接

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