C++ 设计并实现一个日期类Date
设计并实现一个日期类Date,要求:(1)建立具有指定日期(年、月、日)的Date对象,默认日期是2000.1.1。(2)从输出流输出一个格式为“年-月-日”,其中年是四...
设计并实现一个日期类Date,要求:
(1)建立具有指定日期(年、月、日)的Date对象,默认日期是2000.1.1。
(2)从输出流输出一个格式为“年-月-日”,其中年是四位数据,月、日可以是一位也可以是两位数据。【参考:friend ostream &operator<<(ostream &, Date &);】
(3)动态地设置年、月、日。
(4)用运算符==对两个日期进行是否相等的比较。
【参考:friend bool operator==(const Date & d1, const Date & d2); 】
(5)用运算符++来完成天数的增加一天的操作。【参考:Date &operator++();】
(6)Date类必须能够正确表达日期,不会出现类似13月,32日等一类的情况。Date类还必须处理闰年的问题。
(7)写出主函数对该类进行测试。 展开
(1)建立具有指定日期(年、月、日)的Date对象,默认日期是2000.1.1。
(2)从输出流输出一个格式为“年-月-日”,其中年是四位数据,月、日可以是一位也可以是两位数据。【参考:friend ostream &operator<<(ostream &, Date &);】
(3)动态地设置年、月、日。
(4)用运算符==对两个日期进行是否相等的比较。
【参考:friend bool operator==(const Date & d1, const Date & d2); 】
(5)用运算符++来完成天数的增加一天的操作。【参考:Date &operator++();】
(6)Date类必须能够正确表达日期,不会出现类似13月,32日等一类的情况。Date类还必须处理闰年的问题。
(7)写出主函数对该类进行测试。 展开
1个回答
展开全部
#include<iostream>
#include<string>
using namespace std;
class date {
int day;
int month;
int year;
public:
date();
void setdate(int d,int m, int y);
void getdate();
date& operator +(int d3);
date& operator ++();
}
main()
{
int day;
int month;
int year;
int tmp;
date d1;
cout<<"请输入年:";
cin>>year;
cout<<"请输入月:";
cin>>month;
while(month>12||month<1)
{
cout<<"输入的范围不对,重新输入: ";
cin>>month;
}
cout<<"请输入日:";
cin>>day;
while(day>31||day<1)
{
cout<<"输入的范围不对,重新输入: ";
cin>>day;
}
tdate(day,month,year);
tdate();
cout<<"请输入增加变量:";
cin>>tmp;
d1+tmp;
tdate();
d1++;
tdate();
}
date::date(){
day=1;
month=1;
year=1999;
}
void date::setdate(int d,int m, int y)
{
day=d;
month=m;
year=y;
}
void date::getdate()
{
cout<<"今天是: ";
cout<<year<<":"<<month<<":"<<day<<endl;
}
date& date::operator +(int d3)
{
this->day+=d3;
return *this;
}
date& date::operator ++()
{
this->day++;
return *this;
}
#include<string>
using namespace std;
class date {
int day;
int month;
int year;
public:
date();
void setdate(int d,int m, int y);
void getdate();
date& operator +(int d3);
date& operator ++();
}
main()
{
int day;
int month;
int year;
int tmp;
date d1;
cout<<"请输入年:";
cin>>year;
cout<<"请输入月:";
cin>>month;
while(month>12||month<1)
{
cout<<"输入的范围不对,重新输入: ";
cin>>month;
}
cout<<"请输入日:";
cin>>day;
while(day>31||day<1)
{
cout<<"输入的范围不对,重新输入: ";
cin>>day;
}
tdate(day,month,year);
tdate();
cout<<"请输入增加变量:";
cin>>tmp;
d1+tmp;
tdate();
d1++;
tdate();
}
date::date(){
day=1;
month=1;
year=1999;
}
void date::setdate(int d,int m, int y)
{
day=d;
month=m;
year=y;
}
void date::getdate()
{
cout<<"今天是: ";
cout<<year<<":"<<month<<":"<<day<<endl;
}
date& date::operator +(int d3)
{
this->day+=d3;
return *this;
}
date& date::operator ++()
{
this->day++;
return *this;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询