類和物件 Date 日期類)

2021-08-18 15:02:15 字數 2091 閱讀 7834

date.h

#pragma once

#include

#include

using

namespace

std;

class date

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

~date()

//d1=d2

//d1=d1

date &operator=(const date& d)

return *this;

}bool isleapyear(int year)

else

return

false;

}//int getmonthday(int year, int month)

//;// //不好,因為如果是閏年的話,二月始終是28,有錯誤

///*

// if (isleapyear(year) && month == 2)

// */

// if (month == 2&&isleapyear(year))

//

// return monthdays[month];

//}int getmonthday(int year, int month)

;int day=monthdays[month];

if (month == 2 && isleapyear(year))

return day;

}<(&d1,d2);

bool

operator

<(const date& d)

else

}bool

operator>(const date& d)

bool

operator

<=(const date& d)

bool

operator>=(const date& d)

bool

operator==(const date& d)

//d1!=d2---d1相當於this,d2相當於d

bool

operator!=(const date& d)

//d1+100--d1不變

date operator+(int day)

//定義乙個日期,加了100天後的結果

date ret(*this);//在傳參和定義實參時,this不需要參與。但是在函式體內this

//是顯性的,只有用this才能定義這個物件

ret._day += day;

while (ret._day > getmonthday(ret._year, ret._month))

}return ret;//不能引用。ret是乙個區域性變數,用引用相當於返回ret的別名。

//出了作用域,ret的棧幀銷毀,不存在。

}date operator-(int day)

date ret(*this);

ret._day -= day;

while(ret._day<=0)

ret._day += getmonthday(ret._year, ret._month);

}return ret;

}date &operator+=(int day)

date &operator-=(int day)

date& operator++()//預設前置

date& operator++(int)//後置——這個引數只是為了和前置構成過載

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

date operator--(int)

//d1-d2

intoperator - (const date& d)

int days = 0;

while (min < max)

return days*flag;//如果*this}

void show()

private:

int _year;

int _month;

int _day;

};void testdate()

Date類,實現日期類

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

date 日期工具類

兩個日期相減獲得月份 param startcal param endcal return throws parseexception public static int twodatagetmonth string startcal,string endcal throws parseexcept...

date日期類實現 C

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