Why is the constructor of B called?
Nicholas Wilson via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Sep 23 18:01:08 PDT 2015
On Wednesday, 23 September 2015 at 21:25:15 UTC, tcak wrote:
> On Wednesday, 23 September 2015 at 21:14:17 UTC, Adam D. Ruppe
> wrote:
>> On Wednesday, 23 September 2015 at 21:08:37 UTC, tcak wrote:
>>> I wouldn't expect B's constructor to be called at all unless
>>> "super" is used there.
>>
>> "If no call to constructors via this or super appear in a
>> constructor, and the base class has a constructor, a call to
>> super() is inserted at the beginning of the constructor. "
>>
>>
>> from http://dlang.org/class.html#constructors
>>
>> the idea is to make sure the base class construction work is
>> done too.
>
> Is there any way to prevent this behaviour?
>
> Quickly checked whether Java acts in the same way. Answer is
> yes.
You might be able to swap out the vtbl entry for a stub call it
and trick the compiler and swap it back, but...
More information about the Digitalmars-d-learn
mailing list