Foros del Web » Programación para mayores de 30 ;) » C/C++ »

acceder a datos de una clase

Estas en el tema de acceder a datos de una clase en el foro de C/C++ en Foros del Web. Hola a todos, tengo un problema para entender un codigo. Les resumo antes mi intencion para que me aclaren mis dudas, o mejor dicho, me ...
  #1 (permalink)  
Antiguo 12/02/2011, 16:42
 
Fecha de Ingreso: enero-2006
Mensajes: 76
Antigüedad: 18 años, 3 meses
Puntos: 1
acceder a datos de una clase

Hola a todos, tengo un problema para entender un codigo. Les resumo antes mi intencion para que me aclaren mis dudas, o mejor dicho, me digan como se hace.

yo creo una clase (por ejemplo clase primera), dentro de la clase un par de miembros privados (int a e int b), despues creo otra clase (por ejemplo clase segunda), en los miembros privados instancio un vector de tipo primera, (vector<primera>miVector, por ejemplo), y junto a este vector, pues un dato basico (int numero, por ejemplo), luego en el main creo un vector de objetos de la case segunda (vector<segunda>suVector).

ahora bien, ahora es cuando se monta la gorda. como se supone, quiero rellenar el vector suVector (esta en el main) con objetos de la clase segunda, y cada uno de los objetos de la clase segunda, contendran un dato basico (int numero) y un objeto de la clase primera, y cada objeto de la clase primera contendra los dos datos basicos (int a e int b).

como hago para manejar todo esto desde el main?

vaya con mi pregunta, :)
intentare explicarme un poco mejor. hago para ir rellenando los datos de la clase primera, incluirlos en el vector de la clase segunda, rellenar ese dato basico de la clase segunda y almacenar los objetos de la clase segunda en el vector declarado en el main?

les paso un poco de codigo donde creo que insertar datos esta clase logrado, pero me esta fallando todo cuando quiero visualizar los datos del vector principal (suVector).

Código C++:
Ver original
  1. //============================================================================
  2. // Name        : chuleta1.cpp
  3. // Author      : xonil
  4. // Version     :
  5. // Copyright   : foros del web
  6. // Description : acceder a datos de una clase
  7. //============================================================================
  8.  
  9. #include <iostream>
  10. #include<string>
  11. #include<vector>
  12. using namespace std;
  13.  
  14. class primera
  15. {
  16. private:
  17.     int numeroa;
  18.     int numerob;
  19. public:
  20.     primera(){numeroa=0;numerob=0;}
  21.     void insertar(int a,int b);
  22.     void ver();
  23. };
  24.  
  25.  
  26. class segunda
  27. {
  28. private:
  29.     string a;
  30.     vector<primera>miVector;
  31.     vector<primera>::iterator it;
  32. public:
  33.     void insertarS(primera obj);
  34. };
  35.  
  36.  
  37. //metodo insertar en primera
  38. void primera::insertar(int a,int b){
  39.     numeroa=a;
  40.     numerob=b;
  41. }//
  42.  
  43. //metodo insertar en segunda
  44. void segunda::insertarS(primera obj){
  45.     int a=10;
  46.     int b=20;
  47.     obj.insertar(a,b);
  48.     miVector.push_back(obj);
  49. }
  50.  
  51.  
  52. int main() {
  53.     segunda obj2;
  54.     primera obj;
  55.     vector<segunda>tuVector;
  56.     vector<segunda>::iterator it2;
  57.  
  58.     obj2.insertarS(obj);
  59.     tuVector.push_back(obj2);
  60.  
  61.  
  62.     return 0;
  63. }
  #2 (permalink)  
Antiguo 14/02/2011, 02:30
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 3 meses
Puntos: 89
Respuesta: acceder a datos de una clase

Puedes/tienes que hacer métodos get (y set si quieres modificar) para los atributos a los que quieras acceder.

En la clase primera sería

Código C:
Ver original
  1. int getNumeroA(){return numeroa;}
  2. int getNumeroB(){return numerob;}

De esta forma, cada vez que quieras consultar el número A de la primera clase sólo tienes que llamar al método getNumeroA

Etiquetas: acceder, clase
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:41.