gpt4 book ai didi

c++ - 避免菱形继承(钻石问题)

转载 作者:行者123 更新时间:2023-11-30 04:18:25 25 4
gpt4 key购买 nike

<分区>

我有一个类A .

类(class) BC是从类 A 派生的接口(interface).

      A
/ \
B C

现在我必须实现类 DE对于BC .

然后有一些类:FDB , GDC , HEC , IEB , JDB , KDC , LEB , MEC (虽然这些类名称末尾的 DBDC 表示该类使用 DB 作为 DB 的结尾, DC 作为 DC 的结尾, EB 对于 EB 等。

所以:

class A..

class `B`: public virtual `A`..
class `C`: public virtual `A`..

class `D`: public B, public `C`..
class `E`: public B, public `C`..

class `FDB`: public `D`..
class `GDC`: public `D`..
class `HEC`: public `E`..
class `IEB`: public `E`..
class `JDB`: public `D`..
class `KDC`: public `D`..
class `LEB`: public `E`..
class `MEC`: public `E`..

但后来我继承了钻石,但我不想要它。

有人可以建议另一种设计吗?

感谢任何帮助!

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com