3.201 cursos gratis
6.233.243 alumnos
Publica tu curso gratis
Busca cursos gratis:
Estás aquí: mailxmail > Cursos de Informática > Programación > Programación en C++ > Sobrecarga de operadores binarios

Programación en C++

Autor: Josue Diaz Cuenca
Curso:  4,45/5 4,45/5 (454 opiniones) |37985 alumnos|Fecha publicación: 04/06/2004
Capítulos del curso

Capítulo 28:

 Sobrecarga de operadores binarios

Sobrecarga de operadores binarios

Los operadores binarios se pueden sobrecargar pasando a la función dos argumentos. El primer argumento es el operando izquierdo del operador sobrecargado y el segundo argumento es el operando derecho. Suponiendo dos objetos x e y de una clase c, se define un operador binario + sobrecargado. Entonces x + y se puede interpretar como operator+(x,y) o como x.operator+(y)

Un operador binario puede, por consiguiente, ser definido:
- como un amigo de dos argumentos
- como una función miembro de un argumento (caso más frecuente)
- nunca los dos a la vez

Sobrecarga de un operador binario como función miembro

El siguiente ejemplo muestra cómo sobrecargar un operador binario como una función miembro:
class binario
{
int x;
public:binario() {x=0;}
binario(int a) {x=a;}
binario operator + (binario &);
void visualizar() {cout<<x<<endl;
};
binario binario::operator +(binario &a)
{
binario aux;
aux.x=x+a.x;
return aux;
}
void main()
{
binario primero(2),segundo(4),tercero;
tercero = primero + segundo;
tercero.visualizar();
}

La salida del programas es 6.

Sobrecarga de un operador binario como una función amiga
class binario
{
int x;
public:
binario() {x=0;}
binario(int a) {x=a;}
friend binario operator + (binario &,binario &);
void visualizar() {cout<<x<<endl;
};
binario binario::operator +(binario &a,binario &b)
{ binario aux;
aux.x=a.x+b.x;
return aux; }
void main()
{ binario primero(2),segundo(4),tercero;
tercero = primero + segundo;
tercero.visualizar();
}

La salida del programa será 6.

La función operador binario +() está declarada; debido a que es una función amiga, el sistema no pasa el puntero this implícitamente y, por consiguiente, se debe pasar el objeto binario explícitamente con ambos argumentos. Como consecuencia, el primer argumento de la función miembro se convierte en el operando izquierdo de este operador y el segundo argumento se pasa como operando derecho.

Recibe nuestras novedades
Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Hay 454 opiniones. Opina sobre este curso.

Descarga el PDF gratis

Cursos similares a Programación en C++


Cursos Valoración Alumnos Vídeo
Programa con Delphi
Con este curso aprenderemos a programar con delphi, un lenguaje de programación visual, con el que podrás aprender de una manera rápida e intuitiva.... [05/05/05]
 3,13/5 5.448  
Instalación de un Servidor de Correo en Linux
Linux es un sistema operativo libre, con lo que no se tiene que pagar por ningún tipo de licencia. También se puede conseguir el código fuente y poderlo modificar libreme... [16/06/04]
 4,38/5 13.549  
HTML para principiantes
HTML para principiantes, aprende a hacer tus propias páginas web. Programar en un lenguaje como es HTML puede ser fácil y sencillo. Este curso está di... [15/09/09]
 4,80/5 2.006  


Publicar en   del.icio.us    digg    meneame

¿Qué es mailxmail.com?|ISSN: 1699-4914|Recomiéndanos|Ayuda
Condiciones legales de mailxmail