Date Редакция Категория comp Теги Doxygen / Cpp / UML

Для того, чтобы построить иерархию наследования классов с помощью Doxygen нужно...

1. Установить Doxygen и Graphviz.

2. Создать файл настроек Doxygen:

doxygen -g

3. Изменить в нем следующие опции:

EXTRACT_ALL           = YES
HAVE_DOT              = YES
UML_LOOK              = YES

Проверим, как это работает, на примере следующего файла:

#include <iostream>
#include <string>

using std::string;
using std::cout;
using std::endl;

class Animal
{
public:
    string name;
    int age;

    void setName(string s) { name = s; }
    string getName() { return name; }
    void setAge(int age_) { age = age_; }
    int getAge() { return age; }
};

class Dog : public Animal
{
public:
    Dog () { cout << endl << "I'm dog:" << endl; }
    void bark()  { cout << "HUFF" << endl; }
};

class Cat : public Animal
{
public:
    Cat () { cout << endl << "I'm cat:" << endl; }
    void meow() { cout << "meow" << endl; }
};

int main()
{
    Dog dog;

    dog.setName("Polkan");
    cout << dog.getName() << endl;

    dog.setAge(3);
    cout << dog.getAge() << endl;

    dog.bark();

    Cat cat;

    cat.setName("Murka");
    cout << cat.getName() << endl;

    cat.setAge(5);
    cout << cat.getAge() << endl;

    cat.meow();
}

Получим после запуска Doxygen:

class_diag.png

Для более удобной настройки Doxygen можно установить графический интерфейс Doxywizard. В Windows он включен в инсталляцию Doxygen, в Linux нужно установить пакет doxygen-gui.

Настройка отображения диаграмм в Doxywizard:

diag.png



Комментарии

comments powered by Disqus