ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Sobrecarga de operadores


Enviado por   •  27 de Enero de 2020  •  Síntesis  •  2.071 Palabras (9 Páginas)  •  185 Visitas

Página 1 de 9

ESCUELA SUPERIOR[pic 1][pic 2]

POLITÉCNICA

                DE CHIMBORAZO

FACULTAD DE INFORMÁTICA

Y ELECTRÓNICA

SOFTWARE

Nombre: Tatiana Carrillo

Código: 6768

Materia: Paradigma Orientado a Objetos

Tema: Sobrecarga de operadores

Curso: Segundo A

Tabla de contenido

SOBRECARGA DE OPERADORES        3

Objetivos        3

Objetivo General        3

Objetivos Específicos        3

Introducción        4

Desarrollo        5

Lista de operadores válidos en C++        5

Sintaxis        5

Algunas limitaciones para la sobrecarga de operadores        5

Operadores unitarios        6

Operadores binarios        9

Conclusiones        12

Recomendaciones        12

Bibliografía        12


SOBRECARGA DE OPERADORES

Objetivos

Objetivo General

  • Realizar una investigación bibliográfica referente a sobrecarga de operadores

 

Objetivos Específicos

  • Establecer la definición de sobrecarga de operadores
  • Realizar una búsqueda de temas particulares de mencionado tema
  • Elaborar ejemplos prácticos donde se evidencie los temas de consulta


Introducción

Un operador sobrecargado es aquel al que se le ha dado más de una función, por ejemplo, el operador <<, este operador ha sido sobrecargado por el mismo lenguaje C++, así se le puede emplear como operador de desplazamiento de bits (a=b<<3;) o como operador de flujo de datos (cout << "mensaje").

La sobrecarga de operadores es uno de los mecanismos que nos permite ampliar las capacidades de los lenguajes de programación orientados a objetos. En C++, la declaración y definición de una sobrecarga de operador es muy similar a la declaración y definición de una función cualquiera. El ejemplo más sencillo de una sobrecarga de operadores nos lo da el lenguaje mismo, es decir, en una operación aritmética (por ejemplo, una suma) el compilador determina el tipo de operación requerida de acuerdo con el tipo de datos involucrados.


Desarrollo

En realidad, la mayoría de los operadores en C++ ya están sobrecargados. Por ejemplo, el operador + realiza distintas acciones cuando los operandos son enteros, o en coma flotante. En otros casos esto es más evidente, por ejemplo, el operador * se puede usar como operador de multiplicación o como operador de dirección.

C++ permite al programador sobrecargar a su vez los operadores para sus propios usos o para sus propios tipos.

Lista de operadores válidos en C++

+

-

*

/

%

^

&

|

~

!

,

=

<

>

<=

>=

++

--

<<

>>

==

!=

&&

||

+=

-=

*=

/=

%=

^=

&=

|=

<<=

>>=

[ ]

( )

->

->*

new

delete

Sintaxis

Tipo Nombre de la Clase :: operator (lista de argumentos) {

        ;

}

Algunas limitaciones para la sobrecarga de operadores

  • Se pueden sobrecargar todos los operadores excepto “.”, “.*”, “::”, “?:”, sizeof y typeid.
  • Los operadores "=", "[]", "->", "()", "new" y "delete", sólo pueden ser sobrecargados cuando se definen como miembros de una clase.
  • Los argumentos deben ser tipos enumerados o estructurados: struct, union o class.
  • El número de argumentos viene predeterminado dependiendo del operador.
  • Podemos sobrecargar tanto operadores unarios como binarios:
  • tipo_ret operator op_unario (tipo1 arg1);
  • tipo_ret operator op_binario (tipo1 arg1, tipo2 arg2);

Operadores unitarios

También es posible sobrecargar los operadores de pre-incremento, post-incremento, pre-decremento y post-decremento.

De hecho, es posible sobrecargar otros operadores de forma unitaria, como el +, -, * o & de forma prefija.

En estos casos, el operador sólo afecta a un operando. 

Ejemplo 1

En este ejemplo se evidencia el operador unario sobrecargado (++)

// Autor: Tatiana Carrillo

#include

#include

using namespace std;

...

Descargar como (para miembros actualizados)  txt (11.3 Kb)   pdf (171.8 Kb)   docx (63.5 Kb)  
Leer 8 páginas más »
Disponible sólo en Clubensayos.com