Ver Mensaje Individual
  #13 (permalink)  
Antiguo 15/03/2011, 13:13
fingeroso
 
Fecha de Ingreso: marzo-2011
Mensajes: 13
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Problema con sobrecarga operadores +=

Cita:
Iniciado por dragg04 Ver Mensaje
a ver si esto es lo que querias hacer
Código C++:
Ver original
  1. #include "stdafx.h"
  2. #include <vector>
  3. #include <string>
  4. #include <iostream>
  5.  
  6. using namespace std;
  7.  
  8. class CContacto
  9. {
  10.     string _nombre;
  11.  
  12. public:
  13.     void Nombre(const string& nombre)
  14.     {
  15.         _nombre= nombre;
  16.     }
  17.  
  18.     const string &Nombre()
  19.     {
  20.         return _nombre;
  21.     }
  22.  
  23. };
  24.  
  25. class CAgenda
  26. {
  27.     vector<CContacto> _contactos;
  28.  
  29. public:
  30.  
  31.     CAgenda &operator +=(const CContacto& contactos )
  32.     {
  33.         _contactos.push_back(contactos);
  34.         return *this;
  35.     }
  36.  
  37.     CContacto& operator[](int pos)
  38.     {
  39.         return _contactos[pos];
  40.     }
  41. };
  42.  
  43. int _tmain(int argc, _TCHAR* argv[])
  44. {
  45.  
  46.     CContacto contacto;
  47.     CAgenda agenda;
  48.     contacto.Nombre("Mi nombre");
  49.  
  50.     agenda+=contacto;
  51.  
  52.     cout<<"Nombre del contacto"<< agenda[0].Nombre();
  53.  
  54.     return 0;
  55. }


Hay muchas cosas que todavia no entiendo. Pero ya lo he conseguido solucionar. Ahora tengo otro problema y es a la hora de cargar. De cualquier modo, gracias por tu respuesta.

Código C++:
Ver original
  1. void cargar (void){
  2.         ifstream fichero ("datos.txt");
  3.         if(fichero.good()==true){
  4.             while(fichero.eof()==false){
  5.                 fichero >> n;
  6.                 fichero.ignore();
  7.                 for (int i=0; i<n;i++){
  8.                     fichero >> lista[i].nombre;
  9.                     fichero >> lista[i].apellidos;
  10.                     fichero >> lista[i].f1.dd;
  11.                     fichero >> lista[i].f1.mm;
  12.                     fichero >> lista[i].f1.aa;
  13.                     fichero >> lista[i].d1.calle;
  14.                     fichero >> lista[i].d1.numero;
  15.                     fichero >> lista[i].d1.localidad;
  16.                 }
  17.             }
  18.         }
  19.         fichero.close();
  20.         return;
  21.     }

Como veis tengo que cargar ciertas variables que son de tipo string sin embargo cuando lo cargo de esta forma me da fallos.