Soy un ingeniero profesional de sistemas embebidos que está bastante versado en C. Quiero comenzar a aprender C ++ para comprender la programación orientada a objetos. ¿Qué tipo de proyectos debería intentar comprender bien el concepto y la familiaridad de C ++?

Excelente pregunta Estaba exactamente en los mismos zapatos que tú, excepto que tuve el privilegio de trabajar en una compañía que adoptó C ++ por completo y escribió incluso controladores de dispositivos. El único código que escribimos en C estaba destinado a sistemas que eran extremadamente limitados con respecto a su memoria y, por lo tanto, requerían código con muy poca huella. Ahora para responder a tu pregunta. Creo que cualquier software (integrado) que escriba en C puede reescribirse en C ++ y puede reescribirse mucho mejor. Cómo hacerlo ? bueno ese es el arte. Mi sugerencia para usted es conseguir un mentor que sea extremadamente competente en C ++. Alguien que conozcas podrá guiarte con lo que debes hacer y lo que no debes hacer. Luego, aprende el idioma lo suficientemente bien haciendo proyectos paralelos que aumentarán tu conocimiento y tu confianza. Elija un proyecto relacionado con su trabajo, que podría ser un proyecto nuevo o incluso un proyecto de refactorización de código existente. Codifíquelo en C ++, mientras aprovecha su mentor para guiarlo a través del proceso. Haga que el código de tantos expertos en C ++ revise su código. No tenga ego y escuche todo lo que dicen. Intenta aprender de ellos, lo que importa y lo que no. Cuando haya terminado, simplemente elija otro proyecto y repita. Tuve la suerte de estar rodeado de expertos en C ++ cuando comencé mi carrera de ingeniería de software. Me guiaron tal como te aconsejé que hicieras, y eso marcó la diferencia para mí.

Cuando comencé a aprender C ++ después de trabajar con C, pensé que C ++ era solo C con clases, y esa es la cantidad de personas que todavía describen C ++.
Pero lo que no pueden ver es la imagen más grande. C ++ no solo viene con clases, también viene con una increíble cantidad de nuevos conceptos (RTTI, Plantillas), nuevas optimizaciones (la Biblioteca de plantillas estándar), la mejor manera del ecosistema de código abierto (Boost, etc.).
Claramente, hay mucho que aprender. Descubrí que aprender sobre la Programación Orientada a Objetos fue lo suficientemente bueno para mí, porque realmente aprendí a usar STL mientras aprendía OOPS (herencia, funciones virtuales, polimorfismo, etc.). Entonces, OOPS, STL, Plantillas, RTTI y espacios de nombres es un buen lugar para familiarizarse con C ++. Comience haciendo algo con lo que esté familiarizado y que no sea demasiado complicado. Y sí, como dice @Guy Alster, consigue un buen mentor.
También tenga en cuenta que, dado que C ++ 14 está fuera, creo que aprender sobre lambdas, cierres y, en general, la programación funcional también lo hará bien.