/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

problema con listas

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
pedrojo



Registrado: 01 Oct 2007
Mensajes: 1

MensajePublicado: 01/10/2007 10:12 am
Título: problema con listas

Hola, estoy haciendo un ejemplo muy simple en C++ ya que soy novato y estoy practicando un poquillo. Mi idea es hacer una clase animal y unas subclases de animales (ej: perro, rana, gato, etc). Uno de los métodos que tiene cada animal es que puede comerse a otros animales y tenerlos en la tripa. Mi idea para implementar eso era que cada clase Animal tuviese una lista de Animales que representa lo que tiene en la tripa. Para tener por ejemplo un perro que dentro de su "tripa" tuviese un gato y una rana. Aquí os pongo el código que llevo y que me da error (me pone que la lista no tiene un tamaño fijo). Muchas gracias de antemano y siento si es una pregunta tonta, pero son novatillo, sorry.

Este es el código que llevo escrito de la clase Animal:

#ifndef animals_hxx
#define animals_hxx


#include <iostream>
#include <string>
#include <list>



class Animal
{

typedef std::list<Animal*> Tripa;

public:
virtual void escriuEspecie() const
{
std::cout << "...indefinida..." << std::endl;
}

void nom(std::string elNom)
{
_nom = elNom;
}
std::string& nom()
{
return _nom;
}

/////

virtual void comer(Animal& unAnimal)
{
tripa.push_back(&unAnimal);
}
std::list& verTripa()
{
std::cout << "l'animal anomenat tiene en la tripa a" << std::endl;

for (Tripa::iterator it=tripa.begin(); it!=tripa.end(); it++)
{
std::cout << (*it)->nom() <<std::endl;
}

}


////


private:
Tripa tripa;
////

private:
std::string _nom;
};

class Perro : public Animal
{
public:
virtual void escriuEspecie() const
{
std::cout << "perro" << std::endl;
}
};

class rana: public Animal
{
public:
virtual void escriuEspecie() const
{
std::cout << "rana" << std::endl;
}
};

class Gato : public Animal
{
public:
virtual void escriuEspecie() const
{
std::cout << "gato" << std::endl;
}
};

#endif
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com