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 m, int 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
Post a Comment