Why is the constructor of B called?

tcak via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Sep 23 14:25:14 PDT 2015


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.


More information about the Digitalmars-d-learn mailing list