It has some bug for sure, or the interface should be reconsidered: interface I1 { int foo(); } interface I2 { const int foo(); }
class C1 : I2,I1{ int foo() { return 0; } const int foo() { return 1; } } class C2 : I1,I2{ int foo() { return 0; } const int foo() { return 1; } } C1 won't compile, while C2 compiles. For me it is quite strange why are the 2 cases distinct. The order of inheritance should be identical and if the interfaces defines the same members(functions), than only the same implementation should apply for both interfaces.ex: interface A { void foo() } interface B { void foo() } class C { void foo() {...} // implementation of both interfaces } (I think in Java it works this way) Tanks,