Допустим, у меня есть следующий код:
class A {
public:
void doSomething(B* b);
}
class B {
}
Как бы я описал это на диаграмме UML? Моя первая мысль состоит в том, что A использует B, поэтому должна быть пунктирная линия от A до B. Но в некоторых школьных работах (это очень маленькая часть отчета о школьном задании) они, кажется, используют символ агрегации (пустой ромб и сплошная линия).
Мне это кажется неправильным - если A действительно содержит указатель на B в качестве члена, это кажется правильным. Но когда только некоторые методы используют указатель на B и не сохраняют его ни в каких переменных-членах, это кажется неправильным.
Что здесь?
(Я мог бы спросить своих учителей, но они обычно очень долго отвечают на вопросы такого типа... и, честно говоря, я больше доверяю коллективному мозговому доверию Stackoverflow :))