我有一堂课A
。
classesB
和C
是从 class 派生的接口A
。
A
/ \
B C
现在我必须实现类D
和E
两者。B
C
然后是一些类:FDB
, GDC
, HEC
, IEB
, JDB
, KDC
, LEB
, MEC
(而DB
这些DC
类的名称末尾的 and 表示该类使用D
and作为, and for , and for等B
的结尾。DB
D
C
DC
E
B
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`..
但后来我有一个钻石遗产,我不想要它。
有人可以建议另一种设计吗?
任何帮助表示赞赏!