Есть класс
class cDrawObjectCreator
{
public:
cDrawObjectCreator( cCompositeRoot *compositeObject ) { m_compositeRoot = compositeObject; }
~cDrawObjectCreator() {};
...
private:
cCompositeRoot *m_compositeRoot;
};
никаких new и delete с m_compositeRoot в методах cDrawObjectCreator не производится, диаграмму я построил так http://habreffect.ru/files/06a/10cb4f8a9/6.png
Ромб не закрашенный, т.е. нестрогая ассоциация (или как она правильно называется). Правильно ли у меня 1 и 1 стоит? Они означают, что возможен только один экземпляр класса?
Есть другие классы:
сlass cManipulator : public cEditor
{
public:
cManipulator( ICanvas *canvas, cCompositeRoot* obj );
~cManipulator();
private:
....
class VisitorSetProp* m_SetVisitor;
class VisitorGetProp* m_GetVisitor;
}
cManipulator::cManipulator( ICanvas* canvas, cCompositeRoot* obj ) :
...
{
...
m_SetVisitor = new VisitorSetProp (this);
m_GetVisitor = new VisitorGetProp (this);
}
cManipulator::~cManipulator()
{
delete m_SetVisitor;
delete m_GetVisitor;
}
class VisitorSetProp : public Visitor
{
public:
......
}
class VisitorGetProp : public Visitor
{
public:
....
}
правильно ли построена диаграмма классов http://habreffect.ru/files/33e/80c5632b2/7.png