Respostas:
Aqui estão algumas opções:
Guia passo a passo para reverter código de engenharia em diagramas UML com Microsoft Visio 2000 - http://msdn.microsoft.com/en-us/library/aa140255(office.10).aspx
BoUML - http://bouml.fr/features.html
StarUML - http://staruml.sourceforge.net/en/
Engenharia reversa do diagrama de classes UML do código C ++ na presença de contêineres fracamente tipados (2001) - http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.27.9064
Umbrello UML Modeller - http://uml.sourceforge.net/
Uma lista de outras ferramentas para consultar - http://plg.uwaterloo.ca/~migod/uml.html
Acredito que o Enterprise Architect pode fazer isso.
Desenvolvi uma ferramenta chamada Doxygraph que pode analisar o XML gerado pelo Doxygen e transformá-lo em um diagrama de classe UML interativo que você pode visualizar em um navegador da web ou importar para qualquer software que possa ler arquivos "dot" do Graphviz.
Acho que a Wikipedia pode ser uma grande fonte de informações sobre essas ferramentas, especialmente para tabelas de comparação. Existe uma página sobre ferramentas UML . Veja em particular a coluna de idiomas com engenharia reversa .
O UML Studio faz isso muito bem em minha experiência e será executado no "modo freeware" para projetos pequenos.
Parece que o Umbrello produz o melhor código UML a partir de C ++ (sugira o uso da versão mais recente> = 2.22) em comparação com o autodia de linha de comando para Dia e outras ferramentas.
StarUML não produziu bons diagramas para mim: importação estranha, não utilizável, não funciona para muitas pessoas: https://github.com/staruml/Cpp/issues
Quem quer UML merece Rational Rose :)
StarUML faz exatamente isso e é grátis. Infelizmente, não foi atualizado por um tempo. Houve alguns projetos derivados (já que os administradores do projeto não permitiriam que fosse assumido), mas eles também morreram.