UNIDAD EDUCATIVA FISCOMISIONAL "DON BOSCO"
NOMBRE:FRIXON CHALUISA
CURSO:2°INF
TEMA: SOBRE CARGA DE OPERADORES
OBJETIVO:REALIZAR UNA CONSULTA DE LA SOBRECARGA DE OPERADORES EN C++ Y PARA QUE SE UTILIZAN EN CLASES Y HERENCIAS
SOBRECARGA DE OPERADORES
Empezaremos por los operadores binarios, que como recordarás son
aquellos que requieren dos operandos, como la suma o la resta.
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. Cuando se sobrecargan operadores en el interior se asume que el
primer operando es el propio objeto de la clase donde se define el operador.
Debido a esto, sólo se necesita especificar un operando.
SINTAXIS:
<tipo> operator<operador
binario>(<tipo> <identificador>);
Normalmente el <tipo> es la clase para la que estamos
sobrecargando el operador, tanto en el valor de retorno como en el parámetro.
Veamos un ejemplo para una clase para el tratamiento de tiempos:
#include <iostream>
using namespace std;
class Tiempo {
public:
Tiempo(int h=0, int m=0) : hora(h), minuto(m) {}
void Mostrar();
Tiempo operator+(Tiempo h);
private:
int hora;
int minuto;
};
Tiempo Tiempo::operator+(Tiempo h) {
Tiempo temp;
temp.minuto = minuto + h.minuto;
temp.hora = hora + h.hora;
if(temp.minuto >= 60) {
temp.minuto -= 60;
temp.hora++;
}
return temp;
}
void Tiempo::Mostrar() {
cout << hora << ":" << minuto << endl;
}
int main() {
Tiempo Ahora(12,24), T1(4,45);
T1 = Ahora + T1; // (1)
T1.Mostrar();
(Ahora + Tiempo(4,45)).Mostrar(); // (2)
return 0;
}
CONCLUSION:
·
La sobrecarga de
operadores se sobrecargan operadores en el interior
se asume que el primer operando es el propio objeto de la clase donde se define
el operador.
BIBLIOGRAFIA:
No hay comentarios:
Publicar un comentario