2010-04-07 6 views
5

Есть ли способ, которым я могу сгенерировать диаграмму классов иерархического класса из кода на C++. Мой код распространяется от 5 до 6 файлов .cpp.C++ код для диаграммы классов

Я хотел бы знать, есть ли какой-либо бесплатный инструмент для него.

С уважением, AJ

ответ

11

Есть, например, Doxygen

http://www.doxygen.org/features.html говорит:

Использует инструмент точечного набора инструментов для создания Graphviz включает графики зависимостей, диаграммы сотрудничества, называют графы, диаграммы структуры каталогов и графические диаграммы иерархии классов.

Это создает диаграммы, как

http://www.vtk.org/doc/nightly/html/structvtkKdTree_1_1__cellList__coll__graph.png
(от http://www.vtk.org/doc/nightly/html/structvtkKdTree_1_1__cellList.html, пример, указанный на сайте Doxygen)

Поскольку речь шла о диаграммах классов вы также можете быть заинтересованы в UML_LOOK флага, что делает ouput немного больше uml-подобных.

+1

Не будем путать диаграмму классов с диаграммой наследования, что и делает doxygen, и ничего больше. Диаграмма классов содержит не только связи между различными участвующими классами, но и их внутреннюю структуру - члены, функций и методов. То, что вы показали в своем сообщении, вводит в заблуждение omho и не должно рассматриваться как правильный ответ. Диаграмма зависимости от несанкционированного доступа - это вопрос автора вопроса, и в этом случае вопрос должен быть соответствующим образом изменен. Даже в начале вашего ответа, где вы цитируете doxygen, он не упоминает диаграммы классов. – rbaleksandar

+0

http://www.stack.nl/~dimitri/doxygen/manual/config.html#cfg_uml_look делает это немного больше uml ... ish – VolkerK

+0

Мой плохой. Спасибо за полезную информацию. Если вы добавите это в свой комментарий, а не ссылку, в которой перечислены функции doxygen. – rbaleksandar

0

Doxygen может create class-diagramms. Тем не менее, я считаю, что эти диаграммы предназначены только для отображения сети классов, они не перечисляют методы и элементы и т. Д.

5

Диаграммы классов - это сети, а не иерархии. Там есть довольно много инструментов, которые могут их генерировать - мой любимый Enterprise Architect, но он не является бесплатным (есть пробная версия).

+0

+1 для указывающих сетей –

3

Umberello - это приложение Linux, которое генерирует диаграмму из кода.

Смежные вопросы