Do classes require explicit constructors?

Brother Bill brotherbill at mail.com
Sat Feb 14 15:50:46 UTC 2026


On Saturday, 14 February 2026 at 15:45:20 UTC, Richard (Rikki) 
Andrew Cattermole wrote:
> On 15/02/2026 4:42 AM, Brother Bill wrote:
>> Is this expected behavior, that is, we always need to create 
>> our constructors, no free constructor is built for us by the D 
>> compiler?
>
> Yes currently.
>
>> If so, this is a clear departure from C# and Eiffel, where one 
>> gets a free constructor if no explicitly declared constructors.
>
> D's classes were based off of Java's.
>
> I want some changes to them, constructors also don't inherit.

Eiffel may be the only language that supports inheriting 
constructers.
In Eiffel, a constructor is just another method, that is marked 
as a constructor in "create" clause.  As all methods are 
inheritable by default in Eiffel, constructors can be inherited 
there.

>
> They are massive pain for exceptions.

Why are they a massive pain?  Please explain.


More information about the Digitalmars-d-learn mailing list