Strictly speaking B does not implement function and inhereting
function from base class is not the same as implementing the
function.
Yes, but it really seems like this is something that could and
should work..
If you control class A and its appropriate to declare the
interface there, you can declare that A implements I and have B
simply inherit it from A.
If you only intend to introduce the interface on B, you still
need to provide an implementation for I, either voluntarily
overriding A or providing an alternate implementation to the
virtual interface.
My case is a single base class 'Base' and multiple subclasses
grouped under different interfaces.. e.g.
class Base {}
class A : Base, I0 {}
class B : Base, I0 {}
class C : Base, I1 {}
I need access to functionality provided in Base through the
interfaces I0, I1, ...
It really sucks having to re-implement this functionality in all
the subclasses, e.g. A, B, C.. Seems very unnecessary. I finally
implemented this using a mixin template, so the actual code for
it isn't that big, but still..