C++ Operator Overload '+' operator adds two times

Description

C++ Operator Overload '+' operator adds two times

#include <iostream>
using namespace std;
class time//from  ww w  . ja  v a2 s  .  c  o  m
{
   private:
   int hrs, mins, secs;
   public:
   time() : hrs(0), mins(0), secs(0) //no-arg constructor
   {  }                           //3-arg constructor
   time(int h, int m, int s) : hrs(h), mins(m), secs(s)
   {  }
   void display()                    //format 11:59:59
   { cout << hrs << ":" << mins << ":" << secs; }
   time operator + (time t2)         //add two times
   {
      int s = secs + t2.secs;        //add seconds
      int m = mins + t2.mins;        //add minutes
      int h = hrs + t2.hrs;          //add hours
      if( s > 59 )                   //if secs overflow,
         { s -= 60; m++; }           //   carry a minute
      if( m > 59 )                   //if mins overflow,
         { m -= 60; h++; }           //   carry an hour
      return time(h, m, s);          //return temp value
   }
};
int main()
{
   time time1(5, 59, 59);               //create and initialze
   time time2(4, 30, 30);               //   two times
   time time3;                          //create another time
   time3 = time1 + time2;               //add two times
   cout << "\ntime3 = "; time3.display(); //display result
   cout << endl;
   return 0;
}



PreviousNext

Related