interface not able to use functions from base classes??

"Øivind" oivind.loe at gmail.com
Wed Dec 25 01:44:31 PST 2013


> 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..







More information about the Digitalmars-d mailing list