powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Класс Шаблон на Диаграмме Классов
4 сообщений из 4, страница 1 из 1
Класс Шаблон на Диаграмме Классов
    #33838041
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая конструкция внутри класса на С++

vector<Rect*> area;

Как ее отобразить на диаграмме классов (ДК)? А то подзабыл я С++ и не пойму, что это за конструкция, а знакомый поросил нарисовать ДК на этот класс...

Весь класс выглядит так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
template <class T>
class Connector : public Tool   
{
public:
GraphWindow *gw;
protected: 
void Move (Point p);
Point lastPosition;
vector<Rect*> area;
};

З.Ы. Не знал куда податься, либо здесь писать либо в раздел С++. В общем, если не прав, модераторы надеюсь переведут в раздел С++
...
Рейтинг: 0 / 0
Класс Шаблон на Диаграмме Классов
    #33839497
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе area нужно челез ассоциациюизобразить или как член?
Если как член так и пиши имя типа vector<Rect*>.
Или создай класс vector<Rect*>.
...
Рейтинг: 0 / 0
Класс Шаблон на Диаграмме Классов
    #33841238
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenabТебе area нужно челез ассоциациюизобразить или как член?
Если как член так и пиши имя типа vector<Rect*>.
Или создай класс vector<Rect*>.

А на диаграмме классов чем отличается "area нужно челез ассоциациюизобразить или как член", если Rect - это класс?? Правильнее это изоброзить через ассоциацию, но не пойму конструкцию vector<Rect*>, просто как класс "vector<Rect*>" - так отобразить класс нельзя, это не правильно.
...
Рейтинг: 0 / 0
Класс Шаблон на Диаграмме Классов
    #33841398
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas mcureenabТебе area нужно челез ассоциациюизобразить или как член?
Если как член так и пиши имя типа vector<Rect*>.
Или создай класс vector<Rect*>.

А на диаграмме классов чем отличается "area нужно челез ассоциациюизобразить или как член", если Rect - это класс?? Правильнее это изоброзить через ассоциацию, но не пойму конструкцию vector<Rect*>, просто как класс "vector<Rect*>" - так отобразить класс нельзя, это не правильно.

Т.е. тебе нужно изобразить ассоциацию шаблона Connector с Rect?
В UML нет явного понятия * и template <class T> class vector. И если под * иногда понимают агрегацию, то для типа обозначения нет.
Если строго, нужно создать класс vector<Rect*> от шаблона template <class T> class vector. Связать его ассоциацией 1..1 с Connector, и ассоциацией 0..* ordered с Rect. Но это выглядит громоздко и излишне усложняет модель.

ИМХО, нужно навешивать тэги и стереотип на конец ассоциации и описать их семантику для генератора C++ кода (человека или программы). Можно навесить смысл на ordered и navigable, но в этом случае не ясно как различить vector и [].

Если изображать как член, то создай класс vector<Rect*> от шаблона template <class T> class vector. Добавь в класс Connector член area укажи тип vector<Rect*>. Такое описание менее наглядно, но компактно и однозначно.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Класс Шаблон на Диаграмме Классов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]