Write a date class with data members dd, mm, yy. Write a constructor and overload ++ operator, << operator and >> operator.

 



#include<iostream>
using namespace std;
class day
{
    private:
            int month,year;
            int date;
    public:
            day(){};
            void setdata(int , int , int);
            friend istream & operator >>(istream &,day &);
            friend ostream & operator <<(ostream &,day &);
            day operator ++();
            void display();
};

void day :: setdata(int d,int mint y)
{
    date=d;
    month=m;
    year=y;
}

istream& operator >>(istream &in ,day &c)
{
    in>>c.date>>c.month>>c.year;
    return(in);
}

ostream& operator <<(ostream &out ,day &c)
{
    out<<"date = "<<c.date<<"\nmonth = "<<c.month<<"\nyear = "<<c.year;
    return(out);
}

day day :: operator ++()
{
    day tmep;
    tmep.date = ++date;
    if(date == 32)
    {
        date=1;
        month++;
    }
    tmep.month = ++month;
    if(month==13)
    {
        month = 1;
        year++;
    }
    tmep.year = ++year;
    return tmep;
}

void day :: display()
{
    cout<<"after increatement !!! "<<endl;
    cout<<"date = "<<date<<"\nmonth = "<<month<<"\nyear = "<<year;
}

int main()
{
    day da;
    cout<<"enter date , month , year "<<endl;
    cin>> da;
    cout<<da<<endl;
    ++da;
    da.display();

}

output :

enter date , month , year 23 5 2002 date = 23 month = 5 year = 2002 after increatement !!! date = 24 month = 6 year = 2003



Comments