Диаграмма последовательности Uml: отрисовка нового оператора по сравнению с конструктором по умолчанию - PullRequest
0 голосов
/ 17 мая 2011

Может кто-нибудь сказать мне, как нарисовать различия в диаграмме последовательности в следующем примере кода C ++.Я старался быть максимально ясным:)

main

#include "classa.h"

int main()
{
    ClassA a;
    return 0;
}

classa.h

#ifndef CLASSA_H
#define CLASSA_H
#include "classb.h"

class ClassA
{
public:
    ClassA();
    ~ClassA();
private:
    ClassB *var1;
    ClassB var2;
};

#endif // CLASSA_H

classb.h

#ifndef CLASSB_H
#define CLASSB_H

class ClassB
{
public:
    ClassB();
    void test();
};

#endif // CLASSB_H

classa.cpp

#include "classa.h"

ClassA::ClassA()
{
    var1 = new ClassB;
    var1->test();
    var2.test();
}

ClassA::~ClassA()
{
    delete var1;
}

classb.ccp

#include "classb.h"

ClassB::ClassB()
{
}

void ClassB::test()
{
    //Here some code
}

Я думаю, что изображение ниже используется для нового оператора (var1), но как рисуется var2?

UML Diagram

1 Ответ

1 голос
/ 18 мая 2011

Мой c ++ немного заржавел, но я думаю, что-то вроде этого: sequence diagram

var2 выделяется автоматически при создании a - поэтому создается до var1.Что касается UML, то это все еще создание нового экземпляра класса.Могут быть способы дальнейшего стереотипирования операции <<create>>, чтобы указать создание в стеке или куче, но не могу сказать, что я когда-либо использовал их.Как я уже сказал, мой C ++ немного ржавый.

hth.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...