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

Duda al sobrecargar el operador de asignacion en C++

Estas en el tema de Duda al sobrecargar el operador de asignacion en C++ en el foro de C/C++ en Foros del Web. Hola, soy nuevo en esto de C++ y no se muy bien como sobrecargar el operador de asignacion. Tengo varias clases: CreaFeeds CreaItems CreaClientes En ...
  #1 (permalink)  
Antiguo 03/06/2009, 07:27
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 14 años, 11 meses
Puntos: 0
Duda al sobrecargar el operador de asignacion en C++

Hola,

soy nuevo en esto de C++ y no se muy bien como sobrecargar el operador de asignacion.

Tengo varias clases:

CreaFeeds
CreaItems
CreaClientes

En la clase CreaClientes, tengo que utilizar una funcion llamada Suscribe(ListaFeeds), que comprueba la lista de feeds existentes y se subscribe a uno de ellos.

la funcion Suscribe me devuelve un puntero a un objeto de la clase CreaItems. con lo cual yo habia escrito:

*generadorItems = Suscribe(ListaFeeds);

pero el compilador me lanza un error, porque tengo que sobrecargar el operador =.

en la cabecera he escrito:

CreaItems &operator = (const CreaItems &original){........};


pero no se que poner entre las llaves.

alguien me puede ayudar?
  #2 (permalink)  
Antiguo 03/06/2009, 08:53
 
Fecha de Ingreso: febrero-2004
Ubicación: Buenos Aires
Mensajes: 60
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: Duda al sobrecargar el operador de asignacion en C++

Entre el parentesis tienes que igualar todos los objetos que componen la clase y luego agregar un return(*this);

Por ejemplo:
Código c++:
Ver original
  1. class test{
  2.        private:
  3.           int a;
  4.           char b;
  5.          
  6.        public:
  7.           test &operator = (const test &p){
  8.                             a=p.a;
  9.                             b=p.b;
  10.                             return(*this);
  11.          }
  12. };

Espero que te ayude
  #3 (permalink)  
Antiguo 04/06/2009, 09:30
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Duda al sobrecargar el operador de asignacion en C++

muchas gracias por tu ayuda!
  #4 (permalink)  
Antiguo 14/06/2009, 05:55
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Duda al sobrecargar el operador de asignacion en C++

Tengo un problema. Ahora tengo que sobrecargar el operador para una clase que no es tan simple, como por ejemplo:

Código:
class test{
private:
int a;
int b;
char c;
test(int a, char b);
~test();
sum(int a, int b);

}
He de sobrecargar tambien los metodos constructor, destructor y sum???
  #5 (permalink)  
Antiguo 16/06/2009, 06:05
 
Fecha de Ingreso: febrero-2004
Ubicación: Buenos Aires
Mensajes: 60
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: Duda al sobrecargar el operador de asignacion en C++

En principio no. Pero si realizas una clase derivada puede ser.
  #6 (permalink)  
Antiguo 16/06/2009, 09:14
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Duda al sobrecargar el operador de asignacion en C++

gracias! tenias razon.
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 08:42.