今天寫了簡單的日期類,有興趣的可以看一下
其宣告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...