關於日期類,我們最基本的成員變數就是三個:年、月、日。關於成員函式我們要實現構造,拷貝構造,賦值,關於日期的比較大小,以及日期加天數,日期減天數,以及+=和- =,同時還要考慮能否復用,日期減日期,還有日期類的++和- -(分為前置和後置)等。
具體**如下:詳情請看**注釋
date.h
#pragma once
#include
class date
;
date.cpp#include
"date.h"
//列印
void date:
:print()
const
//獲取月的天數
int date:
:getmonthday
(int year,
int month)
const
;//是閏年的話2月返回29天if(
(month ==2)
&&((year %4==
0&& year %
100!=0)
||(year %
400==0)
))return array[month];}
//建構函式
date:
:date
(int year,
int month,
int day)
else
}//析構函式
date::~
date()
//拷貝構造date d2(d1);
date:
:date
(const date& d)
//賦值運算子過載
date& date:
:operator=
(const date& d)
return
*this;
//可以支援連續賦值
}//判斷日期大小或相等
bool date:
:operator==
(const date&d)
const
bool date:
:operator!=
(const date&d)
const
bool date:
:operator>
(const date&d)
const
bool date:
:operator<
(const date&d)
const
bool date:
:operator>=
(const date&d)
const
bool date:
:operator<=
(const date&d)
const
//關於日期的加減
d1+100----d1不發生改變
不復用實現+
//date date::operator+(int day)const
//// }
// return ret;
//}//復用+=實現+
date date:
:operator+
(int day)
const
d1-100----d1不發生改變
不復用實現-
//date date::operator-(int day)const
//// ret._day += getmonthday(ret._year, ret._month);
// }
// return ret;
//}//復用-=實現-
date date:
:operator-
(int day)
const
//實現+=
date& date:
:operator+=(
int day)
_day +
= day;
while
(_day >
getmonthday
(_year, _month))}
return
*this;
}//實現-=
date& date:
:operator-=(
int day)
_day -
= day;
while
(_day <=0)
_day +
=getmonthday
(_year, _month);}
return
*this;
}//d1-d2
int date:
:operator-
(date& d)
const
//日期減日期,返回值是天數int
int num =0;
while
(max != min)
return num;
}//前置++(d.operator++(&d))
date& date:
:operator++()
//後置++(d.operator++(&d,0))
date date:
:operator++
(int
)//前置--(d.operator--(&d))
date& date:
:operator--()
//後置--(d.operator--(&d,0))
date date:
:operator--
(int
)
main.cpp#include
"date.h"
intmain()
Java實現乙個Date類
日期類 根據需求列出功能列表 1.傳 年 月 日 構造日期類 2.在當前日期上增加多少天 3.在當前日期上減少多少天 4.可以返回字串 string 的方法 2019 5 30 5.加一些限制 年支援的範圍 1900,2100 6.如果給定兩個日期,計算兩個日期之間相差多少天 設計屬性 1.年 月 ...
建立乙個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到給定 月的天數之間的整數...
C 自定義乙個Date類
學習了c 的一些類的預設成員函式,運算子過載等內容後,自已定義並實現了乙個較為完整的date類 test.cpp class date void showdate date 析構函式 date const date d 拷貝建構函式 date operator const date d 賦值運算子過...