C 日期類的基本實現

2021-09-02 01:10:49 字數 1498 閱讀 1414

解釋已寫在注釋中,下面是**:

#includeusing namespace std;

#define _crt_secure_no_warnings

class date

} date operator+(int days)//判斷相差天數

else

else

}} return tmp;

} date operator-(int days)//判斷相差天數

else

else

}} return tmp;

} date& operator++()//前置++

else

else

}*/*this = *this + 1;

return *this;

} date operator++(int)//後置++

date& operator--()

date operator--(int)

int operator-(const date& d)

int count = 0;

while (mindate != maxdate)

return count;

} bool operator==(const date& d)const//判斷是否相等 }

bool operator!=(const date& d)const//判斷是否不等

else

}bool operator>(const date& d)const//判斷日期前後

else if (_year == d._year&&_month > d._month)

else if (_year == d._year&&_month == d._month&&_day > d._day)

else

}void printdaysofmonth()//列印乙個月的天數

private:

bool isinvaliddate(int year,int month,int day)//防止日期非法

else

}int _getdaysofmonth(int year, int month)//獲取乙個月有幾天

else if (month == 4 || month == 6 || month == 9 || month == 11)

else if (((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) && month == 2)

else

}friend ostream& operator<<(ostream& _cout, const date& d)//過載<<,列印時間

private:

int _year;

int _month;

int _day;

};void testdate(date d)

int main()

日期類的實現(C )

date.h define crt secure no warning 1 pragma once include include using namespace std class date date const date d year d.year month d.month day d.day...

C 日期類的實現

實現日期類,就是實現其中的幾個預設的成員函式以及一些運算子的過載的實現。使用初始化成員列表初始化年月日,並且對日期的非法性做以判斷。date date int year,int month,int day year year month month day day 這裡對日期的非法性判斷,主要 如下...

C 日期類的實現

include include include using namespace std class date 獲取每個月的天數 int getmonthday int year,int month if month 2 isleap year return days month 判斷日期是否合法 b...