VC++高手快来救我啊!急!!!

这个我做了两遍``没什么头绪!也不太懂怎么做!题目是:日期类型Date:私有成员为year、month、day。公有成员有:默认构造函数(初始化日期为2007.5.28)... 这个我做了两遍``没什么头绪!也不太懂怎么做!
题目是:
日期类型Date:私有成员为year、month、day。公有成员有:默认构造函数(初始化日期为2007.5.28),设置年月日函数setDate()。编程要求:(1)重载单目运算符++(前自增、后自增),使用该运算符能对日期对象做增加1天的计算(注意,在2月28日时,增加一天需要考虑当前年份是否为闰年,具体算法参见教材);(2)重载流插入运算符<<,可以直接输出日期对象;(3)重载流提取运算符>>,能够输入一个日期对象的年月日。

测试数据:必须包括:2000.2.28、2000.5.30、2000.12.31、2004.2.28、2004.2.29,等等边界日期。

以下是我写的:错了很多!!!想请高手看一看``指点一下!谢谢!
#include <iostream>
using namespace std;
class Date
{
private:
int year;
int month;
int day;
public:
Date ()
{
year=2007;
month=05;
day=28;
}
void setDate (const Date &c)
{
cin>>c.year>>c.month>>c.day;
}
Date operator++(const Date &c);
Date operator>>(const Date &c);
Date operator<<(const Date &c);
};
Date Date::operator++(const Date &c)
{
c.day+=1;
if(c.day==28)
{
if((c.year%4==0&&c.year%100!=0)||(c.year%400==0))
{
c.day=1;
c.month+=1;
}
}
if(c.day==31)
{
if(c.momth==1||c.momth==3||c.momth==5||c.momth==7||c.momth==8||c.momth==10||c.momth==12)
{
c.day=1;
c.month+=1;
}
}
}
Date Date::operator>>(const Date &c)
{
cin>>c.year>>c.month>>c.day;
}
Date Date::operator<<(const Date &c)
{
cout<<c.year<<c.month<<c.day;
}
void main()
{
Date datetime;
setDate(datetime);
cout<<datetime;
}
有人可以帮我吗?
展开
 我来答
水一若1015
2007-05-29
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
Date( int m = 1, int d = 1, int y = 1900 ); // constructor

改成

Date( int m = 9, int d = 28, int y = 2007 ); // constructor

参考资料: How to Program C++ (Fourth Edition)

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式