Class-Inheritancing Error
David T. Oxygen
TKC847567 at outlook.com
Tue Jul 29 01:06:44 UTC 2025
On Monday, 28 July 2025 at 18:02:45 UTC, H. S. Teoh wrote:
> On Sun, Jul 27, 2025 at 05:02:35PM +0000, user1234 via
> Digitalmars-d-learn wrote: [...]
>> Simply because because if OP writes
>>
>> ```
>> class Person{
>> string name;
>> this(string name){this.name=name;}
>> }
>> class Someone:Person{
>> }
>> void main(){
>> Someone x=new Someone("Bob");
>> }
>> ```
>>
>> then he gets rewarded with
>>
>> > Error: class `Someone` cannot implicitly generate a default
>> > constructor when base class `Person` is missing a default
>> > constructor
>
> Oh I see. So just write a forwarding ctor:
>
> ```
> class Someone : Person {
> this(string name) { super(name); }
> ...
> }
> ```
>
> Or use the mixin template I wrote in the other thread to
> auto-generate forwarding ctors, if you have many subclasses
> that need forwarding.
>
>
> T
Thank you very much.
As "user1234" said, I just wanted to inheritance the constructor
method in the baseclass.
I have already tried your way to solve the problem,it could work.
But I still want to know why my code could raise an error.And
what's your mixin-template? Would you be so kind to show me this
template? I would be grateful if you can share it.
More information about the Digitalmars-d-learn
mailing list