Sunteți pe pagina 1din 2
Examen de laborator (partea a 2-a) Fie urmatoarea diagrama UML’ Zoo | zainraraee> | ‘animal = Getrones( vecto Batbires) vactorsAnimal> # Gewsammats vector-animsr>| Tisaaval aoa! S Gatfeinast) vector eone™ J isaMiarimal boo! Garrotainimate nt operator r= (Anmat’y vod + petatosing name} boot com fave Sr eeu: ~SetSpec it Toe en Construitifisierele header si cpp corespunzatoare diagramei de mai sus astfel incat: include include *Z00.h" include "Shark.h" include “Eagle.h" include *Lion.h" include “Tiger.h" include “Cow.h” int main() « Z00 23 2 += new Shark(); 2 += new Eagle(); 2 42 new Tiger(); 2 42 new Lion(); 2 4 new Cow()3 std::cout << “Total aninals in zoo: for (auto a : z.GetFishes()) std::cout << "Fish: " << a-sGetName() << std::endl; for (auto a : z.GetBirds()) std::cout << "Bird: " << a-sGetNane() << std::endl; for (auto a : z.GetMannals()) std::cout << "Mammal: " << a->GetName() << std::endl} << z.GetTotalAninals() << std::endl; for (auto a : z.GetFelines()) *'¢ a->GetName() << ", speed: " << a->GetSpeed() << std std::cout << "Feline: std::cout << "Zoo contains a tiger std::cout << "Zoo contains a monkey return 0; endl; boolalpha << z("Tiger") << std::endl]; boolalpha << 2("Nonkey") << std::endl; ‘executia codului din main sé afigeze pe ecran urmatoarele: Observati ‘* Clasa Animal si toate subciasele derivate din ea trebuiesc construe inline (doar figierul header, ‘8rd figierul opp). ‘© Exceptand claza Zoo, nici una dintre celelalte clase NU are date membru ci doar metode! ‘Adéugarea de date membru in aceste clase va impacta urmatoarele puncte: G,2, G,6 si G8 Este recomandata utlizarea unor containere STL pentru rezolvarea acestei probleme. Punctal: G41_| Organizat proiectul astelincat sa contina 10 fisire: main.cpp, Animal.h, | 1p SB Feline.h, Lion.h, Tigerh, Shark.h, Eagle.h, Cowsh, Zoo.h, and Zoo.cpp 6,2 | Organizaf figierul header Zoo h asifl incal sa corespunda exact descrieri | 2p I din ciagrama UML (0 data memru, 2 operator, 5 metode (getter-e) ) G,3_| Implementarea metodel Zoo::GetTotalAnimals() 1p GA | Zo0::GetFishes(), Zoo::GetBirds() si Zoo: fiecare metoda implementata corect) jetMammals() (3p pentru 9p BB Implementarea corect a metodelor virtuale din clasele Tiger, Lion, Eagle, 5p Cow si Shark. (1p fiecare) G,6_| Implementarea operatorulul += 1p 6,7 | imolementarea operatorului de tip funotie pentru a verifica daca un animal | 3p exist in 200 6,8 | imolementarea metodei Zoo::GelFelines() (presupune utiizarea unui cast | 5p IB dinamic in aceasta metoda) G9 | Programul compileaza corect iar executia produce un output conform 3p specificatlor de mai sus. BRB = capacitatea de a aplica corect criterile POO (mostenire, polimorfism, etc) WR capacitatea de a scrie un program C++ pe baza unor specificat Evaluarea va lua in calcul toate punctele relevante pentru un criteru din cele prezentate mai sus.

S-ar putea să vă placă și