/**
* 日期類
* 根據需求列出功能列表
* 1.傳 年、月、日 構造日期類
* 2.在當前日期上增加多少天
* 3.在當前日期上減少多少天
* 4.可以返回字串 string 的方法 "2019-5-30"
* 5.加一些限制 : 年支援的範圍 [1900, 2100]
* 6.如果給定兩個日期,計算兩個日期之間相差多少天
* 設計屬性
* 1.年、月、日
*/public
class
date
if(month <
1|| month >12)
if(day <
1|| day >
getdayofmonth
(year,month)
)//涉及 name shadow
this
.year = year;
this
.month = month;
this
.day = day;
}private
date
(date other)
//支援的方法
public
void
add(
int days)
day += days;
while
(day >
getdayofmonth
(year,month))}
}public
void
sub(
int days)
day -= days;
while
(day <1)
day +=
getdayofmonth
(year,month);}
}public string tostring()
//返回d1 和d2 之間相差的天數,
//規定 d1 > d2
public
static
intdiffer
(date d1, date d2)
int days =0;
date tmp =
newdate
(d1)
;while
(isgreatthan
(tmp, d2)
)return days;
}//內部使用的方法,private
//不會被修改的常量 day_of_month
private
static
final
int[
] day_of_month =
;private
static
intgetdayofmonth
(int year,
int month)
return days;
}private
static
boolean
isleapyear
(int year)
return
false;}
private
static
boolean
isgreatthan
(date d1, date d2)
if(d1.year == d2.year && d1.month > d2.month)
if(d1.year == d2.year && d1.month == d2.month && d1.day > d2.day)
return
false;}
public
static
void
main
(string[
] args)
}
執行結果:
C 實現乙個Date類
關於日期類,我們最基本的成員變數就是三個 年 月 日。關於成員函式我們要實現構造,拷貝構造,賦值,關於日期的比較大小,以及日期加天數,日期減天數,以及 和 同時還要考慮能否復用,日期減日期,還有日期類的 和 分為前置和後置 等。具體 如下 詳情請看 注釋 date.h pragma once inc...
建立乙個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類(日期類)
date 日期類 date類需要包括三個成員變數,年,月,日,注意年月日皆應該使用整形。對日期 類,需要判斷是否為閏年,因此決定2月的天數,並且要使用過載運算子相關的知識用來解決對日期類物件的輸入與輸出。bool operator const date d bool operator const d...