學完前面的東西,現在來具體應用一下
寫乙個日期類,具體功能如下:
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 能夠把系統時間和...