C/Visual C - Operador sobrecargado?

 
Vista:

Operador sobrecargado?

Publicado por Oliver Ramirez (339 intervenciones) el 11/05/2002 23:43:53
Tengo el operador ++ sobrecargado y la declaracion del mismo es asi:
Cvector & operator++()
//y la definicion

Cvector & operator++()
{
x++;y++
return *this;
}

QUE QUIERE DECIR EL APERSAND (&) QUE ESTA ENTRE EL TIPO DEVUELTO Y LA PALABRA RESERVADA operator?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Operador sobrecargado?

Publicado por eduardo (6 intervenciones) el 12/05/2002 03:59:35
que la funcion devuelve una referencia a un objeto del tipo Cvector. En este caso, a si mismo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Operador sobrecargado?

Publicado por Oliver Ramirez (339 intervenciones) el 12/05/2002 15:55:23
y de que me sirve devolver una referencia y no una copia del objeto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Operador sobrecargado?

Publicado por chuidiang (677 intervenciones) el 14/05/2002 06:43:49
Devolviendo referencias, siempre que sea posible, evitas copias innecesarias y haces un poco más eficiente el codigo. Además, muchas veces es útil si quieres concatenar comandos.
En tu ejemplo, supongo que te gustaría que funcionara, por ejemplo
(vector++)++;
si no devuelves referencia, tu vector no se incrementaría dos veces. Solo una y luego se incrementaría la copia.
Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar