implimenting interface function by inheriting from other class

Bastiaan Veelo Bastiaan at Veelo.net
Sat Aug 21 22:56:40 UTC 2021


On Saturday, 21 August 2021 at 20:35:43 UTC, Alexey wrote:
> Hello
> ```D
> interface Int
> {
>     void coolFunc();
> }
>
> class C1
> {
>     void coolFunc()
>     {
>         return;
>     }
> }
>
> class C2 : C1, Int
> {
>
> }
>
> void main()
> {
>     auto c = new C2;
> }
> ```
> dmd says it's not Ok:
> t.d(14): Error: class `t.C2` interface function `void 
> coolFunc()` is not implemented
>
> how to make dmd happy?

Not sure if this is the best way, but it does make dmd happy: 
https://run.dlang.io/is/44F3AE

```d

class C2 : C1, Int
{
     override void coolFunc()
     {
         C1.coolFunc;
     }
}
```

It looks lame, I admit.

— Bastiaan.


More information about the Digitalmars-d-learn mailing list