• Sábado 9 de Noviembre de 2024, 03:32

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - juanwalker

Páginas: [1]
1
C/C++ / STL Lista de objetos: problemas de la memoria
« en: Martes 27 de Octubre de 2009, 22:54 »
Hola comunidad solo código, estoy tratando de hacer correr un programa muy sencillo utilizando una lista STL para guardar un arreglo de objetos. Resulta que estoy guardando bien los valores con push_back, el problema lo tengo cuando accedo a los datos y me encuentro que no se guardan bien. Agradecería mucho si alguien sabe que puede estar pasando aquí.

Mi entorno es Dev-C++ 4.9 si sirve saber de algo

El código no tiene errores de sintáxis , solo copiar y pegar


-----------------------------8<-------------------------------------

#include <windows.h>
#include <stdio.h>

#include <conio.h>
#include <math.h>
#include <list>

#define cantidad 15

using namespace std;

class Persona
{

   public:
   long  id;
   float* codigos;
   
     Persona(long id,float codigos[])
      {
         this->id=id;
         this->codigos=codigos;   
      
      }      
      
};

class Codigos
{



   public:
   
     Codigos()
   {
          list<Persona> personas;
                                                     
      this->cargaNumero(personas);
      
        Persona p1 = personas.front();
        for (int i=0; i< cantidad ;i++)
            printf("n Persona codigo[%d] = %f",i,p1.codigos);          
        printf("nn");
                

   }
   
   private:   

   
   
   void cargaNumero(list<Persona>& personas)
   {
      float codigos[cantidad];
      long id;
      
   

         for(int i=0; i <cantidad  ;i++)   
         {
            codigos=i/3+pow(i,2);
            
            }  
           
            Persona p1(id,codigos) ;   
         personas.push_back(p1);
         
            Persona p2   = personas.front();
            for (int i=0; i< cantidad;i++)
            {
                printf("n Persona codigo[%d] = %f",i,p2.codigos);        
            }    
            printf("nn");    
               
   
   
   }
   
};
int  main(int argc, char *argv[])
{
    Codigos* codigos = new Codigos();
    getch();
}

-----------------------------8<-------------------------------------
Código: C++
  1.  

Páginas: [1]