一、 实验目的
- 理解运算符重载概念;
- 学会使用运算符重载;
- 练习类和对象的使用。
二、实验内容
设计一个日期类Date,包括年、月、日等私有数据成员。要求实现日期的基本运算,如某日期加上天数、某日期减去天数、两日期相差的天数等。
三、实验要求
在Date类中设计如下重载运算符函数:
Date operator+(int days):返回某日期加上天数得到的日期
Date operator-(int days):返回某日期减去天数得到的日期
int operator-(Date&b):返回两日期相差的天数
在实现这些重载运算符函数时调用以下私有成员函数:
leap(int):判断指定的年份是否为闰年
dton(Date &):将指定日期转换成从0年O月O日起的天数
ntod(int):将指定的0年O月O日起的天数转换成对应的日期
提示:可定义一个二维数组,存放闰年和非闰年每个月的天数,用于后面的计算,
int day_tab[2][12]={ {31,28,31,30,3l,30,3l,3l,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}};
// day_tab二维数组存放各月天数,第一行对应非闰年,第二行对应闰年
附代码
!!!编译环境 DevC++ 5.11 TDM-GCC 4.9.2 64-Bit Release
头文件 iquery.h
#ifndef _IQUERY_H
#define _IQUERY_H 1
using namespace std;
//要求实现日期的基本运算,如某日期加上天数、某日期减去天数、两日期相差的天数等
class Date{
private:
int year;
int month;
int day;
bool leap(int idx); //判断指定的年份是否为闰年
int d