C++ is not a good language for embedded platforms.
The overhead required for object-oriented features such as polymorphism and inheritance is not justified in a limited-resource environment.
Then I moved to a small company coding for ATM machines, used C ( a little C++ ), and discovered a need for goto. One has to pack a LOT of functionality into a very small coding space. Sometimes it required GOTOs to save code.