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