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

Popular Post

Define a class to represent a Bank Account. Include the following members: Data Members: i. Name of the depositor ii. Account number iii. Type of account iv. Balance amount in the account Member Functions: 1. To Input initial values 2. To deposit an amount 3. To withdraw an amount after checking the balance 4. To display name and balance Also write constructor for this class that takes four arguments. It should also handle type of account as savings by default

Create a base class called shape .Use this class to store two double type values that could be used to compute the area of figures, Derive two specific classes called triangle and rectangle from the base shape .Add to the base class, a member function get_data() to initialise base class data members and another member function display_area() to compute and display the area of figures. Make display_area () as a virtual function and redefine this function in the derived class to suit their requirements. Using these three classes, design a program that will accept dimensions of a triangle or a rectangle interactively and display the area. Area of rectangle = x*y Area of triangle = ½*x*y

Write the definition for a class called complex that has floating point data members for storing real and imaginary parts. The class has the following member functions: void set(float, float) to set the specified value in object void disp() to display complex number object complex sum(complex) to sum two complex numbers & return complex number 1. Write the definitions for each of the above member functions. 2. Write main function to create three complex number objects. Set the value in two objects and call sum() to calculate sum and assign it in third object. Display all complex numbers.