C 完成日期類的實現 Date

2021-08-09 09:04:53 字數 2561 閱讀 9296

實現日期類的一些功能:

操作符過載

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); //後置 –

bool isleapyear(int year);//判斷閏年?

int getmonthdays( ); //乙個月有多少天 ?

#include 

#include

using

namespace

std;

class date

else

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

////不用寫,系統會自動生成

//~date()//析構函式

//void print() const

else

if(_year == d._year)

else

if(_month == d._month)}}

return

false;

}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)

//d1 + 100

date operator+(int day)

//如果day為負數,則呼叫減法操作符函式

date tmp(*this);

tmp._day += day;

while(tmp._day > getmonthdays())

}return tmp;

}date operator+=(int day)

//day-10

date operator-(int day)

date tmp(*this);

tmp._day = day;

while(tmp._day <= 0)

else

tmp._day += getmonthdays();

}return tmp;

}date operator-=(int day)

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

}return *this;*/

//++也相當於加一天 復用->可維護性

*this += 1;

return *this;

}date operator++(int)//後置++ int用來區分前置和後置

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

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

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

int days = 0;

while (max > min)

return days*flag;

}bool isleapyear(int year)//判斷是不是閏年

else

return

false;

}int getmonthdays()

; int flag = isleapyear(_year);

/*if(_month = 2 && (((_year%4 == 0)&&(_year%100 != 0)) || (_year%400 == 0)))*/

if(_month = 2 && flag == 1)

return monthdays[_month];

}private:

int _year;

int _month;

int _day;

};void test1()

date日期類實現 C

include include includeusing namespace std class date 拷貝構造 date const date d 賦值運算子過載 date operator const date d return this 運算子過載 date operator int da...

Date類,實現日期類

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

運算子過載練習完成日期類

include using namespace std 1.要考慮到日期的合法性 2.考考慮閏年和非閏年 3.需要用到其他輔助函式自己可以新增 class date cout date int,int,int endl date const date d year d.year month d.mo...