C++ code to class diagram
There's e.g. doxygen
http://www.doxygen.nl/manual/features.html says:
Uses the dot tool of the Graphviz tool kit to generate include dependency graphs, collaboration diagrams, call graphs, directory structure graphs, and graphical class hierarchy graphs.
It creates graphs like
(from http://www.vtk.org/doc/nightly/html/structvtkKdTree_1_1__cellList.html, an example listed on the doxygen site)
Since the question was about class diagrams you might also be interested in the UML_LOOK flag that makes the ouput a bit more uml-like.
Class diagrams are networks, not hierarchies. There a re quite a few tools that can generate them - my favourite is Enterprise Architect, but it isn't free (there is a trial).
Umberello is the Linux application that generate diagram from code.