[c++] Wskazniki na obiekty klas pochodnych

0

Witam, mam do zrobienia projekt na studiach, a mianowicie stworzenie supermarketu. Program ma dzialac mniej wiecej tak:

  • klient wchodzi do sklepu
  • bierze koszyk lub wozek
  • wybiera produkty, moze tez je odlozyc na polke
  • usawia sie w kolejce do kasy
  • jest obslugiwany przez kase i dostaje rachunek

I tu na etapie projektowania juz napotykam na problem przy koszyku. Zakladam ze macierzysta klasą (chyba najlepiej abstrakcyjna prawda?) bedzie produkt, ktory bedzie zawierac przede wszystkim cene, typ (np agd, art. spozywcze) oraz metode virtualna zwrocCene.
Koszyk ma byc stosem wskaznikow na obiekty typu produkt.

I tu moje pytanie bo z tego co wiem to moge wywolywac tylko metody klasy na ktora wskazuje wskaznik, czyli tylko metody produktu. Nie moge wywolac metod klas pochodnych. Nie mowie tu o metodach wirtualnych. Chodzi mi o to, ze np klient wezmie jogurt do koszyka i potem bedzie chcial zobaczyc date waznosci (np metod zwrocDateWaznosci). Ta metoda bedzie juz w klasie dziedzicznej, wiec nie moge sie do niej odwolac przez wskaznik na produkt. Wiec moje pytanie brzmi: jak to obejsc ??

0

W klasie produkt możesz przecież zdefiniować abstrakcyjną wirtualną funkcję zwrocDateWaznosci

0

No dobra ale jak tak zrobie to w kazdej klasie pochodnej bede musial zdefiniowac ta funkcje zeby ta powstala klasa nie byla juz abstarakcyjna (tak przynajmniej jest napisane u Grębosza). A np jak bede miec klase telewizor to nie bedzie on mial daty waznosci prawda?? Tylko np gwarancje i metode zwrocGwarancje().

0

Robisz zewnętrzną funkcję zwroc() i ona odpowiednio się dogaduje (taki wizytator).

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