完善中Date类的定义。要求增加成员函数实现:

## 完善中Date类的定义。要求增加成员函数实现:


能比较两个日期的大小(重载“= =”、“>”、“<”、“>=”、“<=”、“!=”);


编写main( )函数测试,内容自定。

提示:两个日期比较,先比较年、再比较月、再比较日,两个日期的年、月、日均相同才相等。

(日期类的定义存放在user_date.h中,测试程序存放在exp_806.cpp中)

```
//头文件## 
#include<iostream.h>
class Date
{ private:
    int year,month,day;
  public:
 void set_date(int y=2000,int m=1,int d=1)  //对数据成员赋值
 {   year=y, month=m,day=d;
 }
 int get_year()                        //返回year
 { return year;
 }
 int get_month()                      //返回month
 { return month;
 }
 int get_day()                        //返回day
 { return day;
 }
 friend bool operator==(Date& a,Date& b);
 friend bool operator>(Date& a,Date& b);
 friend bool operator<(Date& a,Date& b);
 void print_date(void)
 {cout<<year<<'-'<<month<<'-'<<day<<endl;
 }
};
bool operator==(Date& a,Date& b)

 if(a.year==b.year&&a.month==b.month&&a.day==b.day)
  return true;
 else
      return false;
}
bool operator>(Date& a,Date& b)
 {
 if(a.year>b.year)
  return true;
 else
  if(a.year==b.year&&a.month>b.month)
   return true;
  else 
   if(a.year==b.year&&a.month==b.month&&a.day>b.day)
    return true;
   else
    return false;
 }
bool operator<(Date& a,Date& b)
 {
 if(a.year<b.year)
  return true;
 else
  if(a.year==b.year&&a.month<b.month)
    return true;
  else 
   if(a.year==b.year&&a.month==b.month&&a.day<b.day)
    return true;
   else
   return false;
 }

```
//主程序,无法直接用= > <,可用判断语句调用

```
#include<iostream.h>
#include"user_date.h"
void main()
{ Date da1,da2;
  int y,m,d;
  da1.set_date(2004,5,1);
  cout<<"da1=:";
  da1.print_date();
  cout<<"year=";cin>>y;
  cout<<"month=";cin>>m;
  cout<<"day=";cin>>d;
  cout<<"da2=:";
   da2.set_date(y,m,d);    //调用方法set_date(),用消息y,m,d对da2的数据成员赋值
  da2.print_date();    
  if(da1==da2)
   cout<<"da1==da2"<<endl;
  if(da1>da2)
   cout<<"da1>da2"<<endl;
  if(da1<da2)
   cout<<"da1<da2"<<endl;
}

```
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190623202547973.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTA3MDkyMg==,size_16,color_FFFFFF,t_70)
 

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值