rendered paste body// Kooi.cc
#include <assert.h>
#include <iostream>
#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<Dier *>::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<string, Kooi *>::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);
}
}