16/06/2008, 03:36
|
| | 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 |