我想用容器建模一个 Hal_device_factory
类,它收集指向 IHal_subfactory
类型接口(interface)的指针。
我在Enterprise Architect中做了这样的类图:
然后我为这个图表生成了源代码,这就是我得到的:
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/