資料結構 問題 C Date 類與物件

2021-10-17 07:33:02 字數 1495 閱讀 6300

下面是乙個日期類的定義,請在類外實現其所有的方法,並在主函式中生成物件測試之。

注意,在判斷明天日期時,要加入跨月、跨年、閏年的判斷

例如9.月30日的明天是10月1日,12月31日的明天是第二年的1月1日

2月28日的明天要區分是否閏年,閏年則是2月29日,非閏年則是3月1日

輸入測試資料的組數t

第一組測試資料的年 月 日

要求第乙個日期的年月日初始化採用建構函式,第二個日期的年月日初始化採用setdate方法,第三個日期又採用建構函式,第四個日期又採用setdate方法,以此類推。

輸出輸出今天的日期

輸出明天的日期

----------------

樣例輸入

42012 1 3

2012 2 28

2012 3 31

2012 4 30

樣例輸出

today is 2012/01/03

tomorrow is 2012/01/04

today is 2012/02/28

tomorrow is 2012/02/29

today is 2012/03/31

tomorrow is 2012/04/01

today is 2012/04/30

tomorrow is 2012/05/01

#include

#include

using namespace std;

int a=

;int b=

;class date

date

(int year,

int month,

int day)

date

(date &t)

//設定日期

void

setdate

(int year,

int month,

int day)

//返回年

intgety()

//返回月

intgetm()

//返回日

intgetd()

//判斷是否閏年

intislunar()

return0;

}//獲取明天日期

date&

gettomorrow()

else

if(tmp.day+

1> b[tmp.month-1]

)else

}//非閏年用陣列 a

else

else

if(day+

1> a[month-1]

)else

}return tmp;

}//列印

void

print()

};void

printtodayandtomorrow

(date &t)

intmain()

}

資料結構與演算法 類與物件筆記

class complex c.returnadress 等效於 c float returnreal real是private,在成員函式中呼叫要用到this指標 函式模板是允許我們一次性定義一系列函式的辦法。例如,對不同型別資料可用的排序函式sort template class t retur...

redis 資料結構與物件

簡單說下redis的資料結構,這些在網上也都有很詳細的解釋,redis 設計與實現 這本書基於redis3.0的,但是現在已經5.0 了,所以有些資料結構發生了變化,其中我自己實現發現了一部分,可能還有沒發現的。慢慢實踐吧 簡單動態字串是在c語音傳統的字串基礎上構建的,其資料結構為 struct s...

Redis資料結構與物件

redis使用五種型別物件實現實現鍵值對資料庫 字串 列表 雜湊 集合 有序集合 列表編碼 ziplist或linkedlist 雜湊編碼 ziplist或hashtable 集合編碼 intset或hashtable 有序集合編碼 ziplist或skiplist struct sdshdr 二進...