C++请指导

来源:百度知道 编辑:UC知道 时间:2024/06/28 04:11:13
#include<iostream.h>
int d[]={0,31,28,31,30,31,30,30,31,30,31,30,31};
class date
{int year;
int month;
int day;
public:
date()
{year=0;month=0;day=0;}

date operator-(int days);
date(int y,int m,int d)
{year=y;month=m;day=d;}
void show()
{cout<<year<<","<<month<<","<<day<<endl;}
};

date date::operator-(int days)
{date a;
a.day=a.day-days;
if(a.day<0){
a.day=a.day+d[a.month];
a.month=a.month-1;};
if(a.month<=0)
{ a.year=a.year-1;
a.month=a.month+12;
};
return a;
}

int main()
{date a(2005,4,5),b;
b=a-70;
b.show();
return
帮帮忙哦,高手

其实你还应该考虑闰年的:)
date date::operator-(int days)
{
date a;
a.day = day-days;
a.month = month;
a.year = year;
while (a.day<=0) {
a.day=a.day+d[month];
a.month=a.month-1;
}
if( a.month<=0 )
{
a.year=a.year-1;
a.month=a.month+12;
};
return a;
}