inheriting constructos

Ary Borenszweig ary at esperanto.org.ar
Mon Nov 30 15:45:38 PST 2009


Nick Sabalausky wrote:
> "Ary Borenszweig" <ary at esperanto.org.ar> wrote in message 
> news:hf03ps$lk2$1 at digitalmars.com...
>> Andrei Alexandrescu wrote:
>>> Walter and I just discussed the matter of inheriting constructors. Our 
>>> thought on the issue:
>>>
>>> a) If a class doesn't define any constructors and adds no fields, inherit 
>>> constructors. Example:
>>>
>>> class MyException : Exception {}
>>>
>>> b) If a class defines at least one constructor, do not inherit 
>>> constructors.
>>>
>>> c) If a class doesn't define any constructors but does add at least a 
>>> non-static field -> undecided.
>>>
>>> What do you think?
> 
>> I think c should be a compile-time error.
>>
> 
> Why? (Not to be contentious.)

At first I thought you might want to add fields to a subclass for 
logging, or caching, stuff like that, while still wanting to inherit the 
constructors. Then I checked some code for a project I wrote in Java and 
always when the subclass had new fields it defined a different 
constructor, and the logging fields were static. So I think that most of 
the time you'd want to inherit the constructors when you don't define 
new fields.



More information about the Digitalmars-d mailing list