c++ - 如何在 UML 中建模 1 到 0..* 聚合

标签 c++ uml enterprise-architect

我想用容器建模一个 Hal_device_factory 类,它收集指向 IHal_subfactory 类型接口(interface)的指针。

我在Enterprise Architect中做了这样的类图:

enter image description here

然后我为这个图表生成了源代码,这就是我得到的:

std::set<IHal_subfactory>  *m_IHal_subfactory;

然而我期待这样的事情:

std::set<IHal_subfactory*>  m_IHal_subfactory;

所以我的问题是我做错了什么? 模型错误还是什么?

最佳答案

我认为,您的模型是正确的。

如果您想要实例而不是指向它的指针:

您应该将聚合包含设置为 Value 而不是 Reference:

在您的聚合关系中 -> 转到属性 -> 角色 -> 在 部分 -> 在列表中Advanced 部分 -> 将 Containment 设置为 Value

关于c++ - 如何在 UML 中建模 1 到 0..* 聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47996363/

相关文章:

uml - Sparx企业架构师: Show programming language in component diagram

c++ - 数独空白 - C++

c# - 如何在 c# 中使用 EA 插件在包之间移动现有元素?

c++ - 快速将数据 block 附加到另一个数组中

java - 在序列图中显示多个 boolean 值

java - 从用户故事生成用例

java - 将使用 Papyrus 创建的 UML 类图转换为 .ecore 文件

uml - 如何构建 UML(企业架构师)项目

c++ - 为 C/C++ 可执行文件自动生成目标文件(链接器)依赖项

C++ 所有者类和子类的派生类