Operadores binarios
La tabla siguiente muestra una lista de operadores que se pueden sobrecargar.
operadores binarios redefinibles
Operador |
Name |
---|---|
, |
Coma |
!= |
Desigualdad |
% |
Módulo |
%= |
Módulo y asignar |
& |
AND bit a bit |
&& |
AND lógico |
&= |
AND/Assignment bit a bit |
* |
Multiplicación |
*= |
multiplicación/asignación |
+ |
Adición |
+= |
Agregar/asignación |
– |
Resta |
–= |
Resta/asignación |
– > |
Selección de miembro |
– >* |
selección de puntero a miembro |
/ |
División |
/= |
División y asignación |
< |
Menor que |
<< |
Desplazamiento a la izquierda |
<<= |
Desplazamiento a la izquierda y asignación |
<= |
Menor o igual que |
= |
Asignación |
== |
Igualdad |
> |
Mayor que |
>= |
Mayor o igual que |
>> |
Desplazamiento a la derecha |
>>= |
cambio/asignación correctos |
^ |
OR exclusiva |
^= |
OR/assignment exclusivo |
| |
OR inclusivo bit a bit |
|= |
OR/assignment inclusivo bit a bit |
|| |
OR lógico |
Para declarar una función de operador binario como miembro no estático, debe declararla en el formulario:
enriar-tipo operadorop(**arg )
donde es el tipo de valor devuelto el enriar-tipo , op es uno de los operadores enumerados en la tabla anterior, y arg es un argumento de cualquier tipo.
Para declarar una función de operador binario como función global, debe declararla en el formulario:
enriar-tipo operadorop(arg1,**arg2 )
donde el enriar-tipo y op descrito para las funciones de operador de miembro y arg1 y arg2 son los argumentos.Al menos uno de los argumentos debe ser de tipo de clase.
[!NOTA]
No hay restricciones en los tipos de valor devuelto de los operadores binarios; sin embargo, la mayoría de los operadores binarios definido por el usuario devuelven un tipo de clase o una referencia a un tipo de clase.