クラスがありA
ます。
クラスB
とクラスC
から派生したインターフェイスですA
。
A
/ \
B C
ここで、 との両方のクラスD
とを実装する必要があります。E
B
C
そして、いくつかのクラスがあります: FDB
、GDC
、HEC
、IEB
、JDB
、KDC
、LEB
(これらのクラスの名前の最後MEC
にあるDB
とDC
は、クラスが、 、for 、forなどの末尾にandD
を使用することを意味します。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`..
しかし、私はダイヤモンドの継承を持っていて、それを望んでいません。
誰かが別のデザインを提案できますか?
どんな助けでも大歓迎です!