繁体   English   中英

Uml序列图:与默认构造函数比较绘制新的运算符

[英]Uml Sequence Diagram: Drawing new operator in comparison with default constructor

有人可以告诉我如何使用下面的C ++代码示例在序列图中绘制差异。 我试图尽可能清楚:)

主要

#include "classa.h"

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

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

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

#endif // CLASSA_H

#ifndef CLASSB_H
#define CLASSB_H

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

#endif // CLASSB_H

类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图

我的c ++有点生锈,但我认为是这样的: 顺序图

var2在创建a时自动分配-因此在var1之前创建。 就UML而言,它仍然是创建新的类实例。 也许可以通过一些方法进一步构造<<create>>操作,以指示在堆栈还是堆上的创建,但是不能说我曾经使用过它们。 就像我说的那样,我的C ++有点生锈。

hth。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM