This paper takes a detailed look at how C++ can deliver real benefits specifically for the implementation of embedded software. The idea of “encapsulation of expertise” is introduced. An embedded software team has a wide spread of specialties. By using C++ in a smart way, this expertise may be efficiently shared and exploited. The ideas are illustrated by real worked examples, taken step by step from problem definition through to a solution in C++ code. Presented examples include: handling write-only ports and dealing with non-volatile memory.