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