Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/02/2011, 16:42
xonil
 
Fecha de Ingreso: enero-2006
Mensajes: 76
Antigüedad: 19 años
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. }