Z UMLa do C++

0

user image

Jak z tego napisać program w C++ ? Tzn chodzi mi o powązania klas, nie wiem, gdzie powinienem użyć wskaźników, a gdzie obiektów ...

Pisałem tu już jakiś czas temu z tym samym, ale dalej nie jestem pewny, czy dobrze to zrozumiałem, bo ja bym to tak zrobił:

  1. Grupa-uzytk - uzyt posiada wektor WSKAŹNIKÓW do obiektów klasy Group, klasa Group zawiera wskaźnik do obiektu User i wektor wskaźnikow do Group
  2. Uzytk-temat - uzytk ma WEKTOR OBIEKTÓW, bo jak usunę użytkownika, to nie usuwam jego tematów, temat ma 1 OBIEKT typu użytkownik
  3. Uzytk-post - jak wyżej
  4. Temat-post - jeden temat może mieć wiele postów, jak usuwam temat, usuwam i posty -> temat ma WEKTOR WSKAŹNIKÓW do obiektów typu post, post ma OBIEKTY typu temat i uzytk
  5. forum-temat -> usuwam forum/podforum -> usuwam wszystkie tematy, forum ma WEKTOR WSKAŹNIKÓW do obiektów temat, temat może być na forum, czyli temt ma OBIEKT typu forum
  6. forum-podforum(forum) -> na forum moe być kilka podforów (potworów:D) więc jedno główne forum ma WEKTOR WSKAŹNIKÓW do podforów, a podforum każde ma OBIEKT typu forum
  7. forum-grupa - forum może mieć kilka grup, ale jak usuwam forum, to usuwam i grupę = forum ma WEKTOR WSKAŹNIKÓW do grup. grupa ma OBIEKT forum (usuwam forum, nie usuwam grupy).
0

Najprościej: tam gdzie masz agregację lub asocjację dajesz wskaźniki (lub kolekcje wskaźników), tam gdzie masz kompozycję dajesz obiekty. Czemu? Bo w przypadku agregacji i asocjacji obiekty agregowane / powiązane mogą istnieć bez obiektu agregującego, więc nie możesz mieć tu wektora obiektów. W przypadku kompozycji zniknięcie obiektu komponującego powinno powodować usuwanie obiektów komponowanych.

1 użytkowników online, w tym zalogowanych: 0, gości: 1