c++用运算符重载写日期类,可以实现日期减,整数加日期 和日期加整数

来源:百度知道 编辑:UC知道 时间:2024/05/29 02:46:54

#include<iostream.h>
static int dys[]={31,28,31,30,31,30,31,31,30,31,30,31};
class date
{
int yr,mo,da;
public:
date(int y,int m,int d)
{
yr=y; mo=m; da=d;
}
date() {}
void disp()
{
cout<<yr<<"年"<<mo<<"月"<<da<<"日"<<endl;
}
date operator + (int day)
{
date dt=*this;
day+=dt.da;
while (day>dys[dt.mo-1])
{
day-=dys[dt.mo-1];
dt.mo++;
if (dt.mo==13)
{
dt.mo==1;
dt.yr++;
}
}
dt.da=day;
return dt;
}
date operator - (int day)
{
date dt=*this;
day=dt.da-day;
while (day<=0)
{
day+=dys[dt.mo-1];
dt.mo--;
if (dt.mo==0)
{
dt.mo=12;
dt.yr--;
}
}
dt.da=day;
return dt;
}
};