Ver Mensaje Individual
  #7 (permalink)  
Antiguo 30/01/2012, 09:02
gorystyle
 
Fecha de Ingreso: enero-2011
Ubicación: Venezuela, Táchira
Mensajes: 96
Antigüedad: 13 años, 10 meses
Puntos: 10
Respuesta: Problema con la STL vector..

SOLUCIONADO...!

aqui el código completo:

Código C++:
Ver original
  1. #include <iostream>
  2. #include <vector>
  3. #include "persona.h"
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     vector <Persona*> personas;
  10.     char r;
  11.     do
  12.     {
  13.         char n[40];
  14.         int e;
  15.         Persona *p;
  16.         p = new Persona;
  17.  
  18.         cout << "\nNombre: ";
  19.         cin.getline(n,40);
  20.         cout << "\nEdad: ";
  21.         cin >> e;
  22.         p->setEdad(e);
  23.         p->setNombre(n);
  24.         personas.push_back(p);
  25.         cout << "\nContinuar? : ";
  26.         cin >> r;
  27.     }while(r=='s');
  28.  
  29.     cout << "\n\nMostrando.." << endl;
  30.  
  31.     for(int i=0; i<personas.size(); i++)
  32.     {
  33.         cout << "\nNombre: " << personas[i]->getNombre();
  34.     }
  35.  
  36.     for(int i=0; i<personas.size(); i++)
  37.     {
  38.        delete personas[i];
  39.     }
  40.     return 0;
  41. }

Código C++:
Ver original
  1. #include <iostream>
  2. #include <cstring>
  3. #include "persona.h"
  4.  
  5. Persona::Persona()
  6. {
  7.     //ctor
  8. }
  9.  
  10. Persona::~Persona()
  11. {
  12.     //dtor
  13. }
  14.  
  15. void Persona::setEdad(int e)
  16. {
  17.     edad = e;
  18. }
  19.  
  20. void Persona::setNombre(char *nom)
  21. {
  22.     nombre = new char[strlen(nom)];
  23.     strcpy(nombre,nom);
  24. }
  25.  
  26. int Persona::getEdad()
  27. {
  28.     return edad;
  29. }
  30.  
  31. char* Persona::getNombre()
  32. {
  33.     return nombre;
  34. }

Código C++:
Ver original
  1. #ifndef PERSONA_H
  2. #define PERSONA_H
  3.  
  4.  
  5. class Persona
  6. {
  7.     public:
  8.         Persona();
  9.         virtual ~Persona();
  10.         void setEdad(int);
  11.         void setNombre(char*);
  12.         int getEdad();
  13.         char* getNombre();
  14.     protected:
  15.     private:
  16.         int edad;
  17.         char *nombre;
  18. };
  19.  
  20. #endif // PERSONA_H