There isn't anything fundamentally wrong with C++ for microcontrollers (compared to C) provided that:
(1) The firmware authors know C++. They also know what C++ language features to stay away from on microcontrollers. The number of these features is manageable: somewhere between 5 and 8.
(2) The C++ compiler is good.