簡易的 乙個 Date類(日期類)

2021-09-01 06:35:07 字數 2808 閱讀 8239

date 日期類

date類需要包括三個成員變數,年,月,日,注意年月日皆應該使用整形。

對日期 類,需要判斷是否為閏年,因此決定2月的天數,並且要使用過載運算子相關的知識用來解決對日期類物件的輸入與輸出。

bool operator==(const date& d); //== 

bool operator!=(const date& d); //!= 

bool operator>(const date& d); // > 

bool operator>=(const date& d); // >= 

bool operator<(const date& d); // < 

bool operator<=(const date& d); //<= 

date operator+(int days); // 加天數 

date& operator+=(int days);// += 

date operator-(int days); //減天數 

int operator-(const date& d); // 兩個日期相隔天數 

date& operator-=(int days); //-= 

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

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

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

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

date& operator–( ); //前置– 

date operator–(int); //後置 – 

#includeusing namespace std;

class date

//實現物件初始化

date(int year, int mouth, int day)

:_year(year), _mouth(mouth), _day(day)

if (_day > adiust_mouth())

}//析構函式,釋放資源,若無資源,可以不進行顯式定義

~date()

//實現拷貝,如 date d2(d1);

date(date& d)

//賦值,date d2=d1;並且可以實現 d3=d2=d1;

date& operator=(const date& d)

//判斷是否為瑞年,若為瑞年,返回1,否則返回0

int adjust_year()

//判斷乙個月的天數,主要根據是否瑞年,確保2月的天數

int adiust_mouth()

if (adjust_year() == 1 && b == 28)

b = 29;

return b;

} //實現現有日期加上days的天數

date operator+(int days)

temp._day = _day + days - adiust_mouth();

} else

temp._day = _day + days;

return temp;

} //實現現有日期減去days天數

date operator-(int days)

temp._day = _day + adiust_mouth() - days;

} else

temp._day = _day - days;

return temp;

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

int operator-(const date& d)

//前置++

date& operator++()

else

_mouth++;

_day++;

} else

_day = _day + 1;

return *this;

} //前置--

date& operator--()

/*else

_mouth--;

_day = 30;*/

} else

_day = _day - 1;

return *this;

} //後置++

date operator++(int)

else return 0;

} //過載符號'<'

bool operator<(const date& d)const

//過載符號'=='

bool operator==(const date& d)const

//過載符號'>='

bool operator>=(const date& d)

else return 0;

} //過載符號'<='

bool operator<=(const date& d)

//過載符號'!='

bool operator!=(const date& d)

//過載符號 '<<'輸出

friend ostream& operator<<(ostream& _cout, const date& d)

//過載符號 '>>'輸入

friend istream& operator>>(istream& _cin, date& d)

if (d._day > d.adiust_mouth())

return _cin;

}private:

int _year;

int _mouth;

int _day;

};int main()

C 題目 定義乙個日期類Date

題目內容 定義乙個日期類date,包含年 月 日三個資料成員 int 定義帶有3個引數的建構函式,以及乙個求日期是當年的第幾天的成員函式和輸出日期的成員函式,日期的顯示格式為年 月 日。編寫主函式進行測試。每年各月天數分別為31,28,31,30,31,30,31,31,30,31,30,31,閏年...

建立乙個Date類

標頭檔案 1 data class.h ifndef i date ed define i date ed include include using namespace std year應當是1800到2200之間的整數 month必須是1到12之間的整數 day必須是1到給定 月的天數之間的整數...

Date類,實現日期類

1 概述 類 date 表示特定的瞬間,精確到毫秒。2 構造方法 public date public date long date 把乙個long型別的毫秒值轉換成乙個日期物件 3 成員方法 public long gettime 獲取乙個日期物件物件毫秒值 public void settime...