C++ need to be improved at least in two things:
1. An ability to call the base class constructor in any place of the derived class constructor, not only in that special section.
2. An ability to declare the overridden virtual method explicitly, to let the compiler verify is there a corresponded base virtual method.
3. Separate read and write data members protection.