/* Diseñar una clase tiempo que represente la hora y permita manejarla en formato clásico (hh:mm:ss). Se deben incluir en la clase dos funciones operador que sobrecarguen el operador ++ para incrementar en un segundo la hora leída por teclado. En una función ++ actuará de prefijo y en otra de postfijo.  */

#include <iostream.h>

class tiempo{
             int hor,min,seg;
        public:
             tiempo(){hor=0;min=0;seg=0;}
             void leer_tiempo();
             void mostrar_tiempo();
             void operator++(int);
             void operator++(void);
   };

void tiempo::leer_tiempo()
{
    cout<<endl<<"Dame le hora:";
    cin>>hor;
    cout<<"Minutos: ";
    cin>>min;
    cout<<"Segundos: ";
    cin>>seg;
}

void tiempo::mostrar_tiempo()
{
    cout<<endl<<endl<<hor<<":"<<min<<":"<<seg;
}

void tiempo::operator++(int i)       // para que el compilador sepa que es la 
{                                                        // versión postfija se pone este inútil  int i
   seg++; 
   if(seg>59)
    { 
      seg=0;
      min++;
    }
   if(min>59)
    {
      min=0;
      hor++;
    }
}

void tiempo::operator++(void) 

   seg++; 
   if(seg>59)
   { 
     seg=0;
     min++;
   }
   if(min>59)
   {
      min=0;
      hor++;
   }
}

void main()
{
  tiempo t;
  t.leer_tiempo();
  t.mostrar_tiempo();
  t++;                       //postfijo     t.operatot++(int)
  t.mostrar_tiempo();
  ++t;                       //sufijo   t.operator++(void)
  t.mostrar_tiempo();
}

d VOLVER

</PLAINTEXT></NOSCRIPT> <SCRIPT language=javascript src="Sobrecarga del operador ++_files/logo.js"></SCRIPT> </BODY></HTML>