On Wednesday, 23 September 2015 at 13:14:54 UTC, Steven Schveighoffer wrote:
You can do it in C++ via initializers too, just not as useful. D still enforces sound construction.

The key quality for a good OO paradigm is that you can independently modify super-classes and sub-classes in an encapsulated way without knowing the concrete implementation of the other.

Like most languages C++ and D does not ensure sound object construction, but C++ is a bit better than D. When you allow super() to be called in arbitrary locations then modifications of ancestor classes are much more likely to cause issues for subclasses. So that approach does not scale.

Reply via email to