Skocz do zawartości
skyvoo

C++ i dziedziczenie

Rekomendowane odpowiedzi

Siemanko. Mam zadanie z dziedziczeniem no i nie wiem jak sie za to zabrać. Mam 3 klasy http://pastebin.com/1dmS9G5K tak jak tutaj no i musze zrobić tak, żeby można bylo za pomocą konstruktorów i metod w TabOsoba dodawać osoby pracujące, studiujące oraz oba. Wiem tylko że muszę zamienić Osoba * Tab na Osoba ** Tab. Ktoś jakieś wskazówki? :D

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Witaj.

Osoba **Tab jest wskaźnikiem na wskaźnik (lub inaczej tablicą zawierająca wskaźniki), czyli w Twoim przypadku należałobyzmienić wspomniane Osoba *Tab na Osoba *Tab[] jeśli w chwili kompilacji znasz rozmiar tej tablicy lub na Osoba **Tab jeśli rozmiar ma być dynamiczny ( tj. nie znasz go na etapie kompilacji) i wtedy w trakcie wykonywania programu dynamicznie zaalokować pamieć za pomocą funkcji malloc lub calloc new.

 

Jeśli już uporałbyś się z tym, to warto wspomnieć że może wystąpić jeszcze jeden problem, prototyp twojej funkcji to void DodajOsobe(Osoba & wzor); co oznacza że jako parametr przyjmuje ona REFERENCJE na osobę, dlatego aby dodać taką osobę do Twojej tablicy należałoby dokonać konwersji referencji na wskaźnik. O ile dobrze pamiętam moźna to uzyskać w taki sposób.

Osoba *wskaznik_na_osobe = &referencja_na_osobe;

pozdro.

 

EDIT: Pomyłka, to jest C++ a nie C, więc można i powinneneś użyć new zamiast malloc/calloc.

Edytowane przez vRage
Pomyłka.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×