Create a class time with hours and minutes as its data members. Write a C++ program which has a member function to overload binary operator + to add two times. Also overload relational operator > to compare 2 times. It should also overload << (output) and >>(input) operator.

 



#include<iostream>
using namespace std;
class Time
{
    private:
        int hours;
        int minutes;
    public:
        friend istream & operator >>(istream &,Time &);
        friend ostream & operator <<(ostream &,Time &);
        Time operator +(Time);
        Time operator -(Time);
        bool operator >(const Time);
};

istream & operator >>(istream &in,Time &t)
{
    cout<<"enter time in hours and minutes :"<<endl;
    in>>t.hours>>t.minutes;
    return in;
}


Time Time :: operator+(Time t1)
{
    Time temp;
    temp.hours=hours+t1.hours;
    temp.minutes=minutes+t1.minutes;
    if (temp.minutes>=60)
    {
        temp.minutes -= temp.minutes-60;
        temp.hours++;
    }
    return temp;
}

Time Time :: operator -(Time t1)
{
    Time temp;
    temp.hours = hours-t1.hours;
    temp.minutes = minutes-t1.minutes;
    return temp;
}

ostream & operator <<(ostream &out,Time &t)
{
    // cout<<"time in hours and minutes :"<<endl;
    out<<t.hours<<" hours "<<t.minutes<<" minutes "<<endl;
    return out;
}

bool Time :: operator >(const Time t1)
{

    if (hours>t1.hours)
    {
        return true;
    }
    if(hours == t1.hours && minutes == t1.minutes)
    {
        return true;
    }
    return false;
}

int main()
{
    Time T1,T2,T3,T4;
    cout<<"Enter first time :"<<endl;
    cin>>T1;
    cout<<"Enter second time :"<<endl;
    cin>>T2;
    T3=T1+T2;
    cout<<T3;
    T4=T1-T2;
    cout<<T4;
    if (T1>T2)
    {
        cout<<"first time is greater than other"<<endl;
    }
    else
    cout<<"second time is greater than first one"<<endl;

}


output :

Enter first time : enter time in hours and minutes : 4 45 Enter second time : enter time in hours and minutes : 2 45 7 hours 30 minutes 2 hours 0 minutes first time is greater than other



Comments