2010-04-07 2 views
5

Esiste un modo per generare un diagramma di classe gerarchico dal codice C++. Il mio codice è distribuito su 5 a 6 file .cpp.C++ codice allo schema di classe

Mi piacerebbe sapere se esiste uno strumento gratuito per lo stesso.

saluti, AJ

risposta

11

C'è ad es. doxygen

http://www.doxygen.org/features.html dice:

utilizza lo strumento di punti del kit di strumenti per generare Graphviz includere grafici delle dipendenze, diagrammi di collaborazione, chiamare i grafici, grafici struttura di directory, e grafici grafici gerarchia delle classi.

Si crea grafici come

http://www.vtk.org/doc/nightly/html/structvtkKdTree_1_1__cellList__coll__graph.png
(da http://www.vtk.org/doc/nightly/html/structvtkKdTree_1_1__cellList.html, un esempio elencati sul sito Doxygen)

Dato che la domanda riguardava i diagrammi delle classi potrebbe anche essere interessati a bandiera UML_LOOK che fa la uscita un po 'più simile a uml.

+1

Non confondiamo il diagramma delle classi con il diagramma dell'ereditarietà, che è esattamente ciò che fa ossigeno e nient'altro.Un diagramma di classe contiene non solo le connessioni tra le varie classi coinvolte ma anche la loro struttura interna - membri, funzioni e metodi. Quello che hai mostrato nel tuo post è fuorviante omho e non dovrebbe essere considerato la risposta corretta. Unleass diagramma di dipendenza è ciò che l'autore della domanda voleva dire, nel qual caso la domanda dovrebbe essere modificata di conseguenza. Anche all'inizio della tua risposta dove citi la documentazione di doxygen NON menziona diagrammi di classe. – rbaleksandar

+0

http://www.stack.nl/~dimitri/doxygen/manual/config.html#cfg_uml_look lo rende un po 'più uml ... ish – VolkerK

+0

Il mio male. Grazie per le informazioni utili. Dovresti aggiungere questo nel tuo commento anziché il link che elenca le funzionalità di doxygen. – rbaleksandar

0

Doxygen può create class-diagramms. Tuttavia, credo che questi diagrammi siano solo per mostrare la rete di classi, non elencano metodi e membri e simili.

5

I diagrammi di classe sono reti, non gerarchie. Esistono alcuni strumenti che possono generarli: il mio preferito è Enterprise Architect, ma non è gratuito (c'è una versione di prova).

+0

+1 per indicare le reti –

3

Umberello è l'applicazione Linux che genera lo schema dal codice.