La sobrecarga de operadores y sus reglas en C ++

Aprender: ¿Cuál es sobrecarga de operadores en C ++ ? ¿Cuáles son las reglas para la sobrecarga de operadores?

La sobrecarga de operadores es una parte importante de la programación orientada a objetos idiomas. La sobrecarga de operadores es un tipo de static o polimorfismo tiempo de compilación .

Al utilizar el concepto de sobrecarga de operadores, podemos asignar tarea adicional a un operador existente.

Por ejemplo, podemos asignar más de una tarea a + operador:

  1. + operador se utiliza para sumar dos números.
  2. + operador también se utiliza para concatenar dos cuerdas.

El propósito básico de la sobrecarga de operadores se utiliza para proporcionar las instalaciones para el programador, a las expresiones de escritura en la forma más natural.

No están siguiendo las reglas de la sobrecarga de operadores indica a continuación:

  1. La primera y fundamental regla de la sobrecarga de operadores es: podemos sobrecargar operador unitario como único operador unario, no puede ser la sobrecarga como operador binario y viceversa.
  2. No podemos sobrecargar los operadores que no forman parte del lenguaje C ++ como ‘€’.
  3. Podemos realizar la sobrecarga de operadores en sólo las clases definidas por el usuario. No podemos cambiar los operadores existentes funcionalidad.
  4. El uso de la sobrecarga de operadores que no podemos cambiar la presidencia y asociativa de los operadores.
  5. Hay algunos operadores no pueden ser sobrecargados que se dan a continuación:

    • :: operador de resolución de alcance.
    • . operador de pertenencia a una clase.
    • 😕 ternario o el operador condicional.
    • . * puntero al operador miembro.
    • -> * puntero al operador miembro.

sobrecarga de operadores se puede hacer de dos maneras:

  1. sobrecarga de operadores de funciones miembro
  2. operador sobrecarga de funciones que no son miembros o libres


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *