c 日期類的實現級運算子的過載

2021-07-12 04:01:23 字數 1641 閱讀 6141

今天寫了簡單的日期類,有興趣的可以看一下

其宣告date.h:

#define _crt_secure_no_warnings 1

#ifndef   __oncedate__

#define   __oncedate__

#includeusing namespace std;

class date

;#endif

定義如下:

#include #include "date.h"

using namespace std;

void date  :: display()

date::date(int year , int mouth, int day )

else  }

bool date:: operator == (const date& d)

bool date:: operator <(const date& d)

else if (_day < d._day)

return true;

}else if (_mouth < d._mouth)

return true;

}return false;

}bool date:: operator <=(const date& d)

bool date:: operator >=(const date& d)

bool date:: operator !=(const date& d)

date date:: operator+ (int day)//日期加天數,因為定義的天數為int型,所以可能加乙個負的天數

destdate._mouth++;

}else

destdate._mouth--;}}

return destdate;

}date date:: operator+= (int day)

date date:: operator- (int day)

date date:: operator-= (int day)

date date:: operator++()

date date:: operator++(int)

date date:: operator--()

date date:: operator--(int)

int date:: operator-(const date& d)//日期-日期的實現主要先比較日期的大小,再用計數器

else

while (low != high)

if (!flag)

count = -count;

return count;

}bool date::isleapyear(int year)

return false;

}int date::getmonthday(int year, int month)//用乙個陣列儲存1-12月所佔天數

;int day = montharray[month];

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

return day;

}

本文出自 「pawnsir的it之路」 部落格,請務必保留此出處

C 實現日期類(運算子過載)

經歷前期c語言的學習,c語言的程式設計思路是面向過程的程式設計,將所需要實現的功能封裝為每乙個功能函式,在主函式中進行呼叫 c 程式設計思想是物件導向的程式設計,相比較於c語言的程式設計,它更具有更高的安全性和可維護性,c 的特性將功能利用類進行抽象後進行封裝,之後在通過建立物件實現功能呼叫 基於基...

日期類之運算子過載

date.h pragma once include include using namespace std class date date const date d 拷貝構造 date bool isinvalid void show date operator const date d 賦值運算...

實現複數類中的加運算子過載 C 運算子過載

int家有i1和i2弟兄倆,小手一拉i1 i2,加起來了 double家有d1和d2姐妹倆,小手也一拉,d1 d2,也加起來了。c 村子裡來了複數 complex 一家子,也有倆兄弟c1和c2,想要來個累加,笨乎乎地,c1.add c2 c1和c2傷心極了,也想像其他小朋友一樣,小手一拉,c1 c2...