viernes, 22 de enero de 2016

SOBRE CARGA DE OPERADORES

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