模擬實現日期類

2021-08-09 20:16:31 字數 1967 閱讀 8129

日期類好久沒寫了,重溫一下以前的知識。

寫日期類需要注意的有:

1、日期減日期的計算

2、關於輸出輸入過載的友元函式宣告

3、建構函式的條件判斷

4、拷貝建構函式的自我賦值判斷

實現**如下:

#include 

using

namespace

std;

class date

else

}//拷貝建構函式

date(const date&d)

//賦值語句過載

//此處需要主要自我賦值

date& operator=(const date& d)

return *this;

}//析構函式

~date()

public:

//日期比較

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)

public:

date& operator++()

}return *this;

}date operator++(int)

}return temp;

}date& operator--()

_day += getmonthday(_year, _month);

}return *this;

}date operator--(int)

_day += getmonthday(_year, _month);

}return temp;

}//日期+天數

date operator+(int day)

else

temp._month++;

}return temp;

}//日期-天數

date operator-(int day)

else

--temp._month;

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

}return temp;

}//日期-日期

intoperator-(const date& d)

int day = 0;

while (max != min)

return day*flag;

}//注意此處的友元

friend ostream& operator

<<(ostream& os, const date& d); //輸出

friend istream& operator >> (istream& is, date& d); //輸入

int getmonthday(int year, int month)

;int day;

if ((!(year % 400 == 0) || ((year % 100 != 0) && (year % 4 == 0))) && month == 2)

day = a[month];

return day;

}private:

int _year;//年

int _month;//月

int _day;//日

};ostream& operator

<<(ostream& os, const date& d)

istream& operator >> (istream& is, date& d)

int main()

C 模擬實現日期類

本篇部落格完善了日期類 實現了以下操作 class date 實現 class date 也可以不用給 date const date d year d.year month d.month day d.day 當前日期days天後是什麼日期?date operator int days dayso...

模擬實現string類

include using namespace std include class string string string a 2 為什麼要用 優點在哪 string void print string operator const string a string operator const s...

模擬實現string類

在c 中,string其實就是將字串封裝起來的類,呼叫類中的成員函式可以完成對類內的字串進行增刪查改,並且將操作符過載,可以更直觀的操作字串,省去了c語言中很多麻煩的操作,有現成的成員函式供我們使用。舉乙個簡單的例子 在c語言中要在一串字串的尾部拼接另乙個字串,我們需要做的事情就是定義兩個字串,要使...