Why do we NEED, in C++, to have both class initilizers as an option, and class constructors as an option?
For embedded systems, a class constructor is deadly, if it does I/O things that can go wrong. The constructors are called before the system is fully initilialized, e.g., there's usually no LEDs or printf() available to the constructor.
The C++ class instancing using initializers is confusing and secret-sauce coding. Which I hate.
Too bad we don't have a convention like myclass.init().
We still have the convention of main()!
I am weary of OOP now, after months of spending 80% of my time struggling with large bodies of code where the author, IMO, way overused inheritence and subclassing - perhaps because it was clever.