// Kooi.cc #include #include #include "Kooi.h" Kooi::Kooi(string soort) : diersoort(soort){ this->diersoort = soort; } Kooi::~Kooi(){ delete dieren; } void Kooi::voegtoe(Dier * dier){ dieren->push_back(dier); } void Kooi::verwijder(Dier * dier){ dieren->remove(dier); } void Kooi::drukaf(){ cout << "Kooi met diersoort: " << diersoort << " heeft dieren: " << endl; for(list::iterator iter = dieren->begin(); iter != dieren->end(); ++iter){ (*iter)->drukaf(); } } // Dierentuin.cc void Dierentuin::dierToevoegen(){ int dierNummer; string dierNaam; int dierLeeftijd; string dierSoort; cout << "\nGeef op een regel, gescheiden door spatie(s) de naam, " << " de leeftijd en de soort (aap, leeuw, etc.) van het dier op \n"; // lees de gegevens in cin >> dierNaam >> dierLeeftijd >> dierSoort; // skip de rest van de regel cin.ignore(100, '\n'); // toevoegen dierNummer = getNieuwDierNummer(); Dier * dier = new Dier(dierNaam,dierSoort,dierLeeftijd); dieren->insert(make_pair(dierNummer, dier)); // dier in de kooi stoppen if(kooien->count(dierSoort) != 0){ //dier aan de bestaande kooi toevoegen map::iterator iter = kooien->find(dierSoort); iter->second->voegtoe(dier); }else{ // kooi bestaat nog niet voor soort, nieuwe! Kooi * kooi = new Kooi(dierSoort); kooien->insert(make_pair(dierSoort, kooi)); kooi->voegtoe(dier); } }