C 之日期類

2021-08-27 18:33:20 字數 2268 閱讀 4356

學完前面的東西,現在來具體應用一下

寫乙個日期類,具體功能如下:

bool leapyear(int year)//判斷是不是閏年

int monthday(int year, int month)//每月天數的判斷

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

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

date operator--()//前置--

date operator--(int)//後置--

date operator+(int days)//當前日期加上days天前的日期

date operator-(int days)//當前日期減去days天前的日期

date operator-(int days)//兩個日期相差多少天

date*operator&()//取位址運算子過載

date& operator=(const date&d)//賦值運算子過載

int operator-(const date&d);

bool operator>(const date&d)

bool operator

bool operator==(const date&d)

bool operator!=(const date&d)

具體實現如下:

class date

date(int year, int month, int day)

: _year(year)

, _month(month)

, _day(day) }

//判斷是不是閏年

bool leapyear(int year)

else

}//每月天數的判斷

int monthday(int year, int month)

; if (2 == month&&leapyear(year))

return monday[month];

} //前置++

date operator++()

//後置++

date operator++(int)

//前置--

date operator--()

//後置--

date operator--(int)

//過載取位址符號

date*operator&()

//實現連續賦值

date&operator=(const date&d)

return *this;

} //判斷兩個日期是否相等

bool operator==(const date&d)

bool operator!=(const date&d)

//當前日期加上days天後的日期

date operator+(int days)

int monday = 0;

date tmp(*this);

tmp._day += days;

while (tmp._day>(monday = monthday(tmp._year, tmp._month)))

}return tmp;

} //當前日期減去days天前的日期

date operator-(int days)

date tmp(*this);

tmp._day -= days;

while (tmp._day <= 0)

tmp._day += monthday(tmp._year, tmp._month);

} return tmp;

} //計算兩個日期相差多少天

int operator-(const date&d)

int count = 0;

while (mindate != maxdate)

return count;

} //判斷兩個日期的大小

bool operator>(const date&d)

else

}bool operator

else

}private:

int _year;

int _month;

int _day;

};int main()

執行結果:

有點長慢慢看,收穫會很大

C 之日期類

includeusing namespace std 主要函式及其含義 計算當前日期day天之後日期date operator const date d1,int day 計算當前日期day天之前日期date operator const date d1,int day 計算兩個日期之間差距int ...

c 之日期類的實現

date h pragma once include using namespace std class date date const date d date operator const date d public bool operator const date d bool operator...

c 之日期時間

c 標準庫沒有提供所謂的日期型別。c 繼承了 c 語言用於日期和時間操作的結構和函式。為了使用日期和時間相關的函式和結構,需要在 c 程式中引用 標頭檔案。有四個與時間相關的型別 clock t time t size t和tm。型別 clock t size t 和 time t 能夠把系統時間和...