Los
operadores de incremento (++) y decremento (--) son
un caso especial en C++. Ambos son operadores unarios que siempre
se definen como miembros de una clase. En realidad estos operadores
tienen dos significados, según se antepongan
o se postpongan al nombre de la variable o del objeto
al que se aplican. Esto crea una dificultad de definición,
porque ¿a cuál de los dos significados se refiere
la siguiente declaración?:
cadena&
operator++ ();
En
sí no hay nada en esta declaración que indique a cuál
de los dos significados de este operador se refiere el programador.
Por eso C++ utiliza un convenio especial: la declaración
anterior se refiere al operador (++) antepuesto, mientras
que la siguiente declaración:
cadena&
operator++ (int j);
se
refiere al operador (++) postpuesto. La variable j
tiene valor 0 y no se utiliza más que como criterio de distinción.
Lo mismo sucede con el operador (--).
|