Crear un vector de distintas clases
Hola, tengo un problema que no se por donde coger, ya que tengo que hacer un vector, o algún tipo de almacen, en el que meter clases de diferentes tipos.
El problema es que tengo una clase abstracta de la que hereda otra clase que si define sus metodos. A mi me gustaria definir un vector del tipo de la clase abstracta por que hay varias clases que la implementan, es decir, que tengo:
class Animal{
public:
Animal();
~Animal();
virtual int Comer();
}
class Perro : public Animal{
public:
Perro();
~Perro();
int comer();
}
class Gato: public Animal{
public:
Gato();
~Gato();
int comer();
}
class Mascotas{
public:
almacen_de_clases_distintas;
int n_animales;
añadir_mascota(Animal a);
}
me gustarÃa saber que tipo deberÃa tener "almacen_de_clases_distintas", ya que no me deja poner vector<Animal>, que es lo que me gustarÃa para poder tener a todas las mascotas en una sola estructura.
Gracias
El problema es que tengo una clase abstracta de la que hereda otra clase que si define sus metodos. A mi me gustaria definir un vector del tipo de la clase abstracta por que hay varias clases que la implementan, es decir, que tengo:
class Animal{
public:
Animal();
~Animal();
virtual int Comer();
}
class Perro : public Animal{
public:
Perro();
~Perro();
int comer();
}
class Gato: public Animal{
public:
Gato();
~Gato();
int comer();
}
class Mascotas{
public:
almacen_de_clases_distintas;
int n_animales;
añadir_mascota(Animal a);
}
me gustarÃa saber que tipo deberÃa tener "almacen_de_clases_distintas", ya que no me deja poner vector<Animal>, que es lo que me gustarÃa para poder tener a todas las mascotas en una sola estructura.
Gracias
