Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/10/2012, 12:35
vosk
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 12 años, 4 meses
Puntos: 83
Respuesta: Crear un array de objetos

Asumiendo que has finalizado todas las declaraciones de clase con ; y que no tienes ningun tipo 'calss' en vez de 'class' y que le indicas que vas a usar un tipo nuevo de c++ de la biblioteca stl y que incluyes la cabecera de vectores, la sintaxi de tu codigo no es la correcta. Ten en cuenta que c++ está montado sobre c: mucha de la sintaxi es la misma, pero c++ tiene tipos nuevos con sintaxi nueva. En tu codigo estas intentando crear una lista de tipos vector de c++ como si estuvieras haciendo una lista de estructuras en c. La forma correcta es la siguiente

Código:
#include <vector>
using namespace std;

//clase persona
class Persona {
    ...datos...
};


//clase control personas
class ControlPersonas {
    private:
        vector <Persona *> listaPersonas;
};

//añadiendo un item al vector
Persona *np = new Persona();
listaPersonas.push_back(np);
Recuerda que tienes que liberar la memoria usada para las clases Persona cuando ya no las necesites: tienes que hacer un delete para cada puntero a la clase, porque simplemente vaciando el vector estarías provocando un memory leak

Saludos
vosk