elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Crear un arreglo de objetos con el constructor
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Crear un arreglo de objetos con el constructor  (Leído 1,723 veces)
ThronerAXE

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Crear un arreglo de objetos con el constructor
« en: 15 Febrero 2014, 03:52 am »

Buenas, hize este pequeño codigo para practicar y entender lo de los constructores y más aun, sobre asignar memoria dinamica para vectores, sin embargo hay algunas cosas q no logro entender...
primero q todo el metodo obj.mostrar() no funciona bien, pues si yo le asigno al vector 3 posiciones, puedo guardar las 3 posiciones(o almenos eso creo), pero cuando las quiero mostrar, solo sale la de la ultima posicion, a que se debe eso??
lo segundo es sobre el puntero *vector, la verdad nose que significa, y tampoco se porque se le declara como char
alguien me puede explicar porfavor ???

Código
  1. #include <iostream.h>
  2. class Numero
  3. {
  4.   private:
  5.         int x;
  6.         int y;
  7.         char *vector;
  8.   public:
  9.         Numero(int n);
  10.         void carga();
  11.         void mostrar();
  12. };
  13. Numero::Numero(int n)
  14. {
  15.  vector=new char[n];
  16. }
  17. void Numero::carga()
  18. {
  19.  cout<<endl<<"Ingrese X y Y: ";
  20.  cin>>x>>y;
  21. }
  22. void Numero::mostrar()
  23. {
  24.   cout<<endl<<"X: "<<x<<endl<<"Y: "<<y<<endl;
  25. }
  26. void main()
  27. {
  28.  int col,i;
  29.  cout<<"Ingrese las posiciones del vector: ";
  30.  cin>>col;
  31.  Numero obj(col);
  32.  for( i=0;i<col;i++)
  33.  {
  34.    obj.carga();
  35.  };
  36.  for(i=0;i<col;i++)
  37.  {
  38.    obj.mostrar();
  39.  };
  40.  system("pause");
  41. }


En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Crear un arreglo de objetos con el constructor
« Respuesta #1 en: 16 Febrero 2014, 18:38 pm »

Tienes un error de concepto. La clase "Numero" almacena las coordenadas X e Y. Si tu quieres almacenar varias de estas coordenadas, entonces lo que necesitas es un vector de tipo "Numero"... no un vector de tipo ... "char???"

Además... el vector debe estar, necesariamente, fuera de la clase Numero.

Otro detalle a tener en cuenta es que si en el constructor de una clase haces un new necesariamente ha de existir un delete en el destructor... destructor que no tienes implementado.

Código
  1. class Numero
  2. {
  3.   private:
  4.         int x;
  5.         int y;
  6.  
  7.   public:
  8.     Numero( )
  9.       : x( 0 ),
  10.         y( 0 )
  11.     { }
  12.  
  13.     void cargar( )
  14.     {
  15.       cout<<endl<<"Ingrese X e Y: ";
  16.       cin>>x>>y;
  17.     }
  18.  
  19.     void mostrar( )
  20.     { std::cout << x << " " << y << std::endl; }
  21. };
  22.  
  23. class ListaNumeros
  24. {
  25.  public:
  26.    ListaNumeros( int numero )
  27.    { numeros = new Numero[ numero ]; }
  28.  
  29.    ~ListaNumeros( )
  30.    { delete[] numeros; }
  31.  
  32.    void cargar( int numero )
  33.    { numeros[ numero ].cargar( ); }
  34.  
  35.    void mostrar( int numero )
  36.    { numeros[ numero ].mostrar( ); }
  37.  
  38.  private:
  39.    Numero* numeros;
  40. }
  41.  
  42. void main()
  43. {
  44.  int col;
  45.  cout<<"Ingrese las posiciones del vector: ";
  46.  cin>>col;
  47.  ListaNumeros lista( col );
  48.  
  49.  for( int i=0;i<col;i++)
  50.  {
  51.    lista.cargar(i);
  52.  };
  53.  for(i=0;i<col;i++)
  54.  {
  55.    lista.mostrar(i);
  56.  };
  57.  system("pause");
  58. }

Este código aún es muy mejorable, pero eso ya te lo dejo a tí.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Arreglo Dinamico con Objetos :S
Java
Xephiro 9 14,152 Último mensaje 6 Marzo 2009, 20:20 pm
por juancho77
arreglo de objetos sin variables globales
Java
gibi77 4 4,457 Último mensaje 12 Octubre 2011, 10:45 am
por Debci
Arreglo de objetos
Java
Aida 7 4,178 Último mensaje 16 Marzo 2014, 23:45 pm
por Mitsu
segmentation al ordenar un arreglo de objetos
Programación C/C++
yeah_2796 0 1,549 Último mensaje 19 Mayo 2015, 22:51 pm
por yeah_2796
Como puedo serializar un arreglo de objetos en java
Java
Soul_Eater 4 4,011 Último mensaje 9 Mayo 2017, 02:58 am
por Soul_Eater
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines