All pastes #385261 Raw Edit

Untitled

public text v1 · immutable
·published 2007-03-07 19:06 UTC
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);
	}
}