Dlang Polymorphism doesn't work as expected.
Enjoys Math
enjoysmath at gmail.com
Sun Sep 4 17:43:33 UTC 2022
On Sunday, 4 September 2022 at 17:38:54 UTC, Enjoys Math wrote:
> On Sunday, 4 September 2022 at 17:36:24 UTC, Enjoys Math wrote:
>> I have the following MWE:
>>
>> ```
>> import std.exception;
>> import std.stdio;
>>
>> abstract class B
>> {
>> B opCall() {
>> throw new Exception("NotImplemented");
>> }
>> }
>>
>> class A : B
>> {
>> override B opCall() {
>> return new A();
>> }
>> }
>>
>> int main() {
>> B a = new A();
>> a();
>> readln();
>> return 0;
>> }
>>
>> ```
>>
>> But B.opCall() gets called! I thought polymorphism was cool
>> until now....
>>
>> How can I get this to work the way I expected it to? Would an
>> abstract method in base do it?
>
> Okay... now the MWE works as I expected polymorphism to work,
> but my complicated library is not doing it right...
>
> :\
Here is a link to the library on github. Please help me solve
this!! :D
https://github.com/enjoysmath/diagram-chaser
More information about the Digitalmars-d
mailing list