日期類好久沒寫了,重溫一下以前的知識。
寫日期類需要注意的有:
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語言中要在一串字串的尾部拼接另乙個字串,我們需要做的事情就是定義兩個字串,要使...