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;
}
有人可以帮我吗? 展开
题目是:
日期类型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;
}
有人可以帮我吗? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询