I have a class A
.
classes B
and C
are interfaces that derives from class A
.
A
/ \
B C
now I have to implement the classes D
and E
for both B
and C
.
and then there are some classes: FDB
, GDC
, HEC
, IEB
, JDB
, KDC
, LEB
, MEC
(while DB
and DC
in the end of the name of these classes means that the class uses D
and B
for the ending of DB
, D
and C
for DC
, E
and B
for EB
, etc..
so:
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`..
but then I have a diamond inheritance and I don't want it.
can someone suggest another design please?
any help appreciated!