Forget C++ for embeded systems, C++ is designed for very large software systems, where you need namespaces and interfaces, vtables, virtual functions, and all the other bullshit.
If you think C++ is not overly complicated, just what is a 'protected abstract virtual base pure virtual
private destructor', and when was the last time you needed one?
What you need is Structured C programming. Divide your program into files that serve one purpose. Hide fuctions with the static keyword. Use structures for data. C is very powerful and elegant language. Unix os is written in C. Thats stood the test of time!