日期date类的运算符的重载
今天为2019年1月16日,如果想要知道自己的假期还有多长时间,或者想知道离过年还有多少天,是不是需要计算一下呢?掰着手指算的话,那可能很麻烦,如果有一个可以计算日期的函数那可能就很简单了。
首先想对日期类的运算符进行重载,那我们需要先知道运算符的重载是什么意思。
运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。
函数名字为:关键字operator后面接需要重载的运算符符号。
函数原型:返回值类型 operator操作符(参数列表)
以下代码为vs下所写
#include <iostream>
using namespace std;
class Date
{
public:
int GetMonthDay(int year, int month)
{
//用静态数组,避免每次调用的时候都开辟新的数组
static int monthArray[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
//如果为闰年的话,2月为29天
if ((month == 2) && (year % 4 == 0 && year % 100 != 0 ) || (year % 400 == 0))
{
return 29;
}
else
return monthArray[month];
}
//构造函数
Date(int year = 2019, int month = 1, int day = 1)
{
if (year > 0 &&
(m