
Madely Betancourt
2do Aplicaciones Informaticas
Programacion
Sobrecarga de operadores.
OBJETIVO:
Realizar una consulta de sobrecarga de operadores en c++, utilizando fuentes informativas como el internet, para poder ampliar y mejorar nuestros conocimientos en c++.
La sobrecarga de operadores es uno de los mecanismos que nos permite ampliar las capacidades de los lenguajes de programación orientados a objetos. 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. Vamos a suponer que se tienen las variables: int A, B; double X, Y; int R; y las siguientes instrucciones:
R = A + B - C;
R = A + X;
R = X + Y;
SINTAXIS:
tipo operador + (lista de parámetros);
EN DONDE:
-
Tipo se refiere al tipo regresado por el operador
-
Operador es una palabra reservada y debe aparecer en toda declaración de sobrecarga de operadores
-
El símbolo + está en representación de cualquier operador
-
Lista de parámetros indica los argumentos sobre los que operará la función de sobrecarga
Nota: en el caso de que el operador sobrecargado se hace para una clase específica la sintaxis se extiende de la siguiente manera:
tipo nombre_clase::operator + (lista de parámetros);
EJEMPLO:
#include <iostream>
using namespace std;
class Pareja {
public:
double a, b;
// constructor parametrizado
Pareja(const double a,const double b)
{
this->a = a;
this->b = b;
}
};
// Sobrecarga del operador +
Pareja& operator +(const Pareja &p1,const Pareja &p2)
{
return *(new Pareja(p1.a + p2.a, p1.b + p2.b) );
}
int main()
{
Pareja A(50, 75 );
Pareja B(150, 175 );
Pareja C = A + B;
cout << "A = " << A.a << ',' << A.b << "\n";
cout << "B = " << B.a << ',' << B.b << "\n";
cout << "C = " << C.a << ',' << C.b << "\n";
return 0;
}