Inheritance of purity
kenji hara
k.hara.pg at gmail.com
Fri Feb 17 06:00:49 PST 2012
I think this is a current implementation problem.
In this case, just `override void foo()` in class D should override
the method in C.
And `void foo()const` should be a new overlodad of foo.
Kenji Hara
2012/2/17 Timon Gehr <timon.gehr at gmx.ch>:
> On 02/17/2012 02:33 PM, Timon Gehr wrote:
>>
>>
>> Introducing a new overload against const in a subclass is illegal:
>>
>> class C{
>> void foo(){}
>> }
>> class D : C{
>> override void foo(){}
>> override void foo()const{}
>> }
>>
>> Error: D.foo multiple overrides of same function
>
>
> Oops...
>
> I meant
>
>
> class C{
> void foo(){}
> }
>
> class D:C{
> override void foo(){}
> void foo()const{}
> }
>
> The error message is the same though.
More information about the Digitalmars-d
mailing list