//14. 定义一个日期类(年、月、日),用运算符重载方法对两个日期进行相减,输出两个日期相差的天数。
#include"iostream"
using namespace std;
class date
{
private:
int year,month,day;
public:
date(int x=0,int y=0,int z=0):year(x),month(y),day(z){}
int operator-(date d);
void print();
};
int main()
{
date d1(2000,3,24),d2(2000,4,28);
int d;
d=d2-d1;
cout<<"相差"<<d<<"天"<<endl;
return 0;
}
void date::print()
{
}
int date::operator-(date d)
{
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int x=0,y=0,z;
for(int i=1;i<d.month;i++)
x+=a[i];
if((d.year%4==0&&d.year%100!=0||d.year%400==0)&&d.month>=3)
x=x+1;
for(int i=1;i<month;i++)
y+=a[i];
if((year%4==0&&year%100!=0||year%400==0)&&month>=3)
y=y+1;
z=(y+day)-(x+d.day);
return z;
}