What you are looking for is called round-trip engineering. There are more and less solid tools available for this.
The basic idea of round-trip engineering is this:
- You can make a change to the UML diagram in your UML modeling tool, and the change is automatically reflected in a code update (i.e., you add a method to the UML class, and the tool adds the method to the .h and .cpp files as well)
- You can make a change to the source code and your UML diagram is updated automatically.
While full-blown round-trip engineering is pretty much an ongoing research effort, there are tools out there, which at least partially support it. In particular, such tools usually support converting existing projects and in that process they allow you to create UML diagrams from the current state of the source.
Hence, instead of manually updating your diagrams, you could re-generate them each time you need to show your progress and only waste a little bit of time for layouting, or selecting relevant parts for your presentation. But in particular, you are guaranteed that the diagrams you shown contain exactly the information present in your source code.
For C++ I'm afraid I only know one such tool: Enterprise Architect. I'm sure there are more around, though.
As a final note: Automation at this level is far from being perfect. You will get a decent UML diagram, but certainly not something like you would have derived by yourself. First off, once you leave the realm of static structure and want behavioral diagrams, most tools are not only at a total loss, but produce totally useless output. And second, even for static structure, it is a difficult subject to derive aggregation/composition/association(classes)/etc. automatically from source code. Given that most code generators are still manually tuned to produce the desired outputs in the obvious UML model -> code direction, it is understandably much more difficult to generalize the reverse direction.