You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
No es posible modificar el número <strong>de</strong> operandos que toma un operador. Tampoco se<br />
pue<strong>de</strong>n crear operadores nuevos; sólo se pue<strong>de</strong> hacer la homonimia <strong>de</strong> operadores<br />
exist<strong>en</strong>tes.<br />
La homonimia <strong>de</strong> operador funciona sólo con objetos <strong>de</strong> tipos <strong>de</strong>finidos por el usuario<br />
o por una combinación <strong>de</strong> un objeto <strong>de</strong> tipo <strong>de</strong>finido por el usuario y un objeto <strong>de</strong> tipo<br />
incorporado.<br />
5.3. HOMONIMIA DE OPERADORES DE INSERCION Y DE EXTRACCION DE<br />
FLUJO<br />
Se hace la homonimia <strong>de</strong> estos operadores ( ) para procesar cada tipo <strong>de</strong> datos<br />
estándar, incluy<strong>en</strong>do ca<strong>de</strong>nas y direcciones <strong>de</strong> memoria; también para ejecutar <strong>en</strong>tradas<br />
y salidas para tipos <strong>de</strong>finidos por usuario.<br />
Los operadores <strong>de</strong> <strong>en</strong>trada y <strong>de</strong> salida homónimos <strong>de</strong>b<strong>en</strong> ser <strong>de</strong>clarados como amigo,<br />
si han <strong>de</strong> t<strong>en</strong>er acceso directo a los miembros <strong>de</strong> clase no públicos.<br />
5.4. HOMONIMIA DE OPERADORES UNARIOS<br />
Se pue<strong>de</strong> hacer la homonimia <strong>de</strong> un operador unario para una clase como función<br />
miembro no estática sin argum<strong>en</strong>tos, o como función no miembro con un argum<strong>en</strong>to;<br />
dicho argum<strong>en</strong>to <strong>de</strong>be ser un objeto <strong>de</strong> la clase o una refer<strong>en</strong>cia a un objeto <strong>de</strong> la clase.<br />
5.5. HOMONIMIA DE OPERADORES BINARIOS<br />
Se pue<strong>de</strong> hacer la homonimia <strong>de</strong> un operador binario como función miembro no<br />
estática con un argum<strong>en</strong>to o como función no miembro con dos argum<strong>en</strong>tos ( uno <strong>de</strong><br />
dichos argum<strong>en</strong>tos <strong>de</strong>bi<strong>en</strong>do ser un objeto <strong>de</strong> clase o una refer<strong>en</strong>cia a un objeto <strong>de</strong><br />
clase).<br />
Así, por ejemplo, podríamos <strong>de</strong>finir un operador ''+'' <strong>de</strong> la sigui<strong>en</strong>te forma:<br />
Class Complejo<br />
{<br />
...<br />
public :<br />
...<br />
Complejo operator + ( const Complejo &op)<br />
{<br />
double real = _real + op._real,<br />
imag = _imag + op._imag;<br />
};<br />
}<br />
...<br />
return<br />
(Complejo ( real, imag));