Ver Mensaje Individual
  #15 (permalink)  
Antiguo 16/06/2008, 03:36
shacklebolt
 
Fecha de Ingreso: junio-2008
Mensajes: 10
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Ayuda con Funciones objeto (funtores)

Bueno ya está todo perfect, aquí teneis un main para comprobar las funciones del pokedex:

Código:
#include <pokemon.h>
#include <pokedex.h>
#include <fstream>

using namespace std;

int main() {
	// Inicializacion
	pokedex pok;
	ifstream in,in1,in2;
	in.open("pokemons.txt");
	in>>pok;
	// Probando totales() y deTipo()
	map<string,int> auxmap=pok.totales();
	vector<pokemon> auxvec=pok.deTipo("planta");
	ostream_iterator<pokemon> itr_out1(cout,"\n");
	cout<<"Muestra los "<<auxmap["planta"]<<" pokemons de tipo planta:"<<endl;
	copy(auxvec.begin(),auxvec.end(),itr_out1);
	// Probando info()
	cout<<"\nAhora intentamos buscar un pokemon <Pikachu>, si existe se muestra"<<endl;
	pokemon pokemon1=pok.info("Pikachu");
	cout<<pokemon1<<endl;
	// Probando tipos()
	cout<<"\nTipos de pokemon en el pokedex por orden alfabetico:";
	ostream_iterator<string> itr_out2(cout,"\n");
	set<string> tipos1=pok.tipos();
	copy(tipos1.begin(),tipos1.end(),itr_out2);
	// Probando fusion()
	pokedex pok1,pok2;
	in1.open("pokemons1.txt");
	in1>>pok1;
	in2.open("pokemons2.txt");
	in2>>pok2;
	cout<<"\nPokedex1 antes de la fusion:"<<endl;
	cout<<pok1;
	cout<<"Pokedex2 antes de la fusion:"<<endl;
	cout<<pok2;
	cout<<"Pokedex1 se fusiona con Pokedex2, y saco por salida Pokedex1:"<<endl;
	pok1.fusion(pok2);
	cout<<pok1;
	return 0;
}
pokemons1.txt
Cita:
1 Bulbasaur 2 planta veneno
2 Ivysaur 2 planta veneno
3 Venusaur 2 planta veneno
4 Charmander 1 fuego
pokemons2.txt
Cita:
4 Charmander 1 fuego
5 Charmeleon 1 fuego
6 Charizard 2 fuego volador