實現日期類

2021-07-11 03:24:06 字數 1684 閱讀 9033

題目:實現乙個日期類,主要實現日期計算功能:

日期+天數=日期;

日期-天數=日期;

日期-日期=天數;

要實現該日期類,必須熟練掌握運算子過載的概念和實現方法。

以下是編寫的乙個日期類:

標頭檔案:

#ifndef __date_h__

#define __date_h__

#includeusing namespace std;

class date

;#endif

原始檔:

date::date(int year, int month, int day)//建構函式

:_year(year)

, _month(month)

, _day(day)

}date::date(const date& d)//拷貝建構函式

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

int date::daysofmonth()

;        //用陣列的形式表示每個月的天數

if (isleapyear())//若為閏年則二月份天數為29天

return days[_month];

}bool date::isinvalid()

bool date::isleapyear()

ostream& operator<<(ostream& output, const date& d)//輸出運算子過載

bool operator==(const date& d1, const date& d2)

bool operator!=(const date& d1, const date& d2)

bool operator>(const date& d1, const date& d2)

}} return false;

}bool operator>=(const date& d1, const date& d2)

bool operator<=(const date& d1, const date& d2)

bool operator<(const date& d1, const date& d2)

void date::tocorrectdate()

else

_month--;

_day += daysofmonth();

} while (_day > daysofmonth())

else

_month++; }}

date operator+(const date& d, int days)

date& date::operator+=(int days)

date operator-(const date& d, int days)

date& date::operator-=(int days)

int operator-(const date& d1, const date& d2)

if (d1 < d2)

while (mindate != maxdate)//較小的日期每次增加一天,直到與較大日期相等

return days;

}

測試檔案:

#include"date.h"

int main()

日期類實現

c 作為一門物件導向的語言,抽象思想非常重要,將事物抽象為類,通過物件之間的互動解決問題,是物件導向程式設計語言的解題思想.本章定義乙個日期類,用於解決和日期相關的問題.要自定義乙個類,首先需要構造出類需要的成員變數,日期類的成員變數包括三個變數,年月日.其次,需要例項化類,需要實現類的建構函式,並...

Date類,實現日期類

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

日期類的實現

在學習c 類的時候,日期類是最基礎也是最重要的乙個類。簡單的日期類並不複雜,但在實現的過程中主要會涉及一些c 的基本成員函式。這個 的難度主要在於如何判斷日期類的合法性,比如月份如果大於12,天數也要合法,比如二月不能閏年不能超過30天,平年28天。在自增和自減的時候,也要考慮到年份 月份和天數的變...