Wymyśl i napisz klasę abstrakcyjną reprezentującą pojecie owocu. Zaproponuj w tej klasie przynajmniej dwie metody czysto wirtualne. Następnie zaimplementuj dwie klasy dziedziczące po tej klasie i reprezentujące dwa wybrane gatunki owoców. Obiekty reprezentujące gatunki owoców powinny być tak zaprojektowane, aby można z nich było tworzyć listy dynamiczne. W funkcji main
utwórz jedną listę dynamiczną składającą się z kilku różnych owoców i na jej przykładzie zademonstruj polimorfizm metod deklarowanych w bazowej jako czysto wirtualne (np. wywołaj dla wszystkich obiektów w liście te czysto wirtualne metody, demonstrując w ten sposób ich różne działanie w zależności od typu obiektu).
Uwaga: zadanie daje dużą swobodę interpretacji, jeżeli chodzi o model (co mają reprezentować metody zadeklarowane w klasie bazowej? – tj. co można robić z owocami..), dlatego interpretacje identyczne mogą zostać potraktowane jako wykonane niesamodzielnie i mogą zostać nie uznane przez prowadzących. Wejściówki opracowane wspólnie przez kilka osób nie będą akceptowane. Sprawdzane będą podobieństwa pomysłów w obrębie grupy usos’owej, a także między grupami. Wszystkie osoby, które zawarły ten sam model w swoim kodzie, mają anulowaną wejściówkę, a w konsekwencji również punkty zdobyte na lab. 13. Nie będzie rozstrzygania, kto pierwszy zaprezentował swój pomysł i jest jego autorem, a kto był tylko plagiatorem.