• Lunes 29 de Abril de 2024, 01:01

Autor Tema:  Problema con clases c++  (Leído 909 veces)

keiron

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Problema con clases c++
« en: Martes 20 de Abril de 2010, 20:23 »
0
Hola todos un gusto saludos
Tengo el siguiente problema:

Citar
El sistema solicita la cantidad de arreglos. Luego, se ingresan los arreglos: para cada arreglo se indica el nombre, su cantidad de elementos y los datos contenidos en el arreglo(solo enteros), y asi sucesivamente.
Una vez ingresado los arreglos se despliega un menu que pide las clasicas acciones, como por ejemplo: dado el nombre del arreglo, mostrar su posiciones y mayor valor etc...

Ya tengo mi clase que creara los arreglos dinamicos que es la siguiente:

Código: C++
  1. #ifndef ARREGLO_H
  2. #define ARREGLO_H
  3.  
  4. #include <stdio.h>
  5. #include <string.h>
  6.  
  7. class Arreglo
  8. {
  9.     private:
  10.  
  11.         int *vector;
  12.         int tamano;
  13.         int cantidad;
  14.         char *nombre;
  15.  
  16.     public:
  17.         Arreglo(const char*, int);
  18.         int getPos(int);
  19.         int getCant();
  20.         int getTam();
  21.         char *getNombre(void){ return nombre ;}
  22.         void insertElement(int a);
  23.  
  24.         ~Arreglo();
  25.  
  26. };
  27.  
  28. #endif // ARREGLO_H
  29.  
  30.  
  31. Arreglo::Arreglo(const char *unnombre, int n)
  32. {
  33.     nombre = new char [strlen(unnombre)+1];
  34.     strcpy(nombre,unnombre);
  35.     tamano=n;
  36.     cantidad=0;
  37.     vector = new int[n];
  38.  
  39.     for(int i=0; i<n; i++)
  40.     {
  41.         vector[i]=0;
  42.     }
  43. }
  44.  
  45. int Arreglo::getCant()
  46. {
  47.     return cantidad;
  48. }
  49.  
  50. /*char Arreglo::getNombre(void)
  51. {
  52.     return *nombre;
  53. }*/
  54.  
  55. int Arreglo::getPos(int a)
  56. {
  57.     return vector[a];
  58. }
  59.  
  60. int Arreglo::getTam()
  61. {
  62.     return tamano;
  63. }
  64.  
  65. void Arreglo::insertElement(int dato)
  66. {
  67.     if(tamano == cantidad)
  68.     {
  69.         throw "No queda espacio en el vector";
  70.     }
  71.  
  72.     vector[cantidad] = dato;
  73.     cantidad++;
  74.  
  75. }
  76.  
  77. Arreglo::~Arreglo()
  78. {
  79.     delete []vector;
  80. }
  81.  

Y ese es el problema. Como se puede ver cree la clase Arreglo para crear un objeto que tiene un nombre y vector de datos. Mi problema surgio en como almacenar la cantidad objetos (de la clase Arreglo) que cree durante la ejecucion.
Esa es mi duda como crear otra clase que almacene los objetos arreglo y a la vez pueda accesar a ellos por medio de esa clase para buscar el mayor y todas esas operaciones triviales.

Y asi es como llegue a preguntar como se crearia un vector que almacene objetos de otra clase y se pueda accesar a esos objetos facilmente. En java, es muy simple realizar lo que quiero hacer pero en C++ en poco complicado.

ojala alguien guie apropiadamente.

saludos