C++习题与解析(重载,第1张

C++习题与解析(重载,第2张

05.设计一个日期类Date,包括年、月、日等私有数据成员。实现日期的基本操作,如一个日期加天数,一个日期减天数,以及两个日期之间的天数。
解决方案:
在Date类中设计以下重载运算符函数:
Date运算符+(int days);返回日期
日期运算符-(int days)通过将一个日期加到一天而获得的值;返回通过从日期中减去天数获得的日期
int运算符-(Date & b);返回两个日期之间的天数
实现这些重载运算符函数时,将调用以下私有成员函数:
leap(int);确定指定的年份是否是闰年
dton(Date &);将指定日期转换为从10月0日起的天数,0
ntod(int);将10月0,0的指定天数转换为相应的日期
subject过程如下:
# include
int day _ tab[2][12]= { { 31,28,31,30,31,30,31,31。
// day_tab二维数组存储每个月的天数。第一行对应非闰年,第二行对应闰年
类日期
{
int年、月、日;
int leap(int);
int dton(Date &);
Date ntod(int);
public:
Date(){ }
Date(int y,int m,int d)
{
year = y;月= m;日= d;
}
void setday(int d){ day = d;}
void set month(int m){ month = m;}
void setyear(int y){ year = y;}
int getday(){ return day;}
int getmonth(){ return month;}
int getyear(){ return year;}
Date运算符+(int days)
{
静态日期Date;
int number = dton(* this)+days;
date=ntod(数字);
返回日期;
}
日期运算符-(int days)
{
静态日期Date;
int number = dton(* this);
number-=天数;
date=ntod(数字);
返回日期;
}
int运算符-(Date & b)
{
int days = dton(* this)-dton(b)-1;
退货天数;

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C++习题与解析(重载

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情