Nick Sabalausky wrote:
"Ary Borenszweig" <[email protected]> wrote in message news:[email protected]...
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.

Reply via email to