【发布时间】:2016-03-28 21:28:27
【问题描述】:
我有以下代码:
class D;
class E;
#include "B.h"
#include "C.h"
#include "F.h"
#include "G.h"
#include <vector>
class A: public G {
B b;
std::vector<C> cs;
D* d;
std::vector<E*> es;
std::vector<F*> fs;
public:
A() { fs.push_back(new F); fs.push_back(new F); }
};
int main() {}
在 Bouml 中,我从这段代码生成了类图:
我认为A和F之间的(https://softwareengineering.stackexchange.com/questions/255973/c-association-aggregation-and-composition)关系必须产生聚合关系,但它产生了关联关系。如何建立聚合关系?
【问题讨论】:
-
2 条建议: 1. 使用智能指针,特别是避免在 STL 容器中使用裸指针。 2. 选择正确的智能指针来传达关系的性质,例如unique_ptr 清楚地显示所有权。
标签: c++ uml reverse-engineering