欢迎来到天天文库
浏览记录
ID:38674996
大小:101.00 KB
页数:6页
时间:2019-06-17
《日期Data类的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《高级语言程序设计II实验》实验报告一学生姓名:班级:学号:一问题描述定义日历类提供日历相减,加1减1的支持;例如需支持以下语句:Dated1(2014,2,28),d2(2014,4,1);cout<2、<>d;cout<<"日期:"<3、d){}设计年/月/日:voidSetYear(inty){year=y;};voidSetMonth(intm){month=m;};voidSetDay(intd){day=d;}。返回年/月/日:intGetYear()const{returnyear;};intGetMonth()const{returnmonth;};intGetDay()const{returnday;}。判断年份y是否为润年:staticboolIsLeapyear(inty);年份y的天数:staticintGetYearDays(4、inty);日期d当前月份的天数:staticintGetMonthDays(constDate&d);返回从公元1年1月1日起的天数:staticintDateToNum(constDate&d);由从公元1年1月1日起的天数返回日期:staticDateNumToDate(intn);(3)Data类的实现:返回当前日期加/减上天数后得到的日期:DateDate::operator-/+(intdays)判断年份y是否为润年:boolDate::IsLeapyear(inty);年份y的天数:intDate::5、GetYearDays(inty);日期d当前月份的天数:intDate::GetMonthDays(constDate&d);返回从公元1年1月1日起的天数:intDate::DateToNum(constDate&d);由从公元1年1月1日起的天数返回日期:DateDate::NumToDate(intn);2.主要算法描述ostream&operator<<(ostream&out,constDate&d);//重载输出运算符istream&operator>>(istream&in,Date&d);//重载6、输入运算符>>三程序代码#includeusingnamespacestd;classDate{private:intyear;intmonth;intday;public:Date(inty=1,intm=1,intd=1):year(y),month(m),day(d){}//构造函数voidSetYear(inty){year=y;}voidSetMonth(intm){month=m;}voidSetDay(intd){day=d;}intGetYear()const{returnyea7、r;}intGetMonth()const{returnmonth;}intGetDay()const{returnday;}Dateoperator+(intdays);Dateoperator-(intdays);staticboolIsLeapyear(inty);//判断年份y是否为润年staticintGetYearDays(inty);staticintGetMonthDays(constDate&d);staticintDateToNum(constDate&d);staticDateNumToDat8、e(intn);};ostream&operator<<(ostream&out,constDate&d);//重载输出运算符istream&operator>>(istream&in,Date&d);//重载输入运算符>>DateDate::operator+(intdays)//返回当前日期加上天数后得到的日期{intn=DateToNum(*this)
2、<>d;cout<<"日期:"<3、d){}设计年/月/日:voidSetYear(inty){year=y;};voidSetMonth(intm){month=m;};voidSetDay(intd){day=d;}。返回年/月/日:intGetYear()const{returnyear;};intGetMonth()const{returnmonth;};intGetDay()const{returnday;}。判断年份y是否为润年:staticboolIsLeapyear(inty);年份y的天数:staticintGetYearDays(4、inty);日期d当前月份的天数:staticintGetMonthDays(constDate&d);返回从公元1年1月1日起的天数:staticintDateToNum(constDate&d);由从公元1年1月1日起的天数返回日期:staticDateNumToDate(intn);(3)Data类的实现:返回当前日期加/减上天数后得到的日期:DateDate::operator-/+(intdays)判断年份y是否为润年:boolDate::IsLeapyear(inty);年份y的天数:intDate::5、GetYearDays(inty);日期d当前月份的天数:intDate::GetMonthDays(constDate&d);返回从公元1年1月1日起的天数:intDate::DateToNum(constDate&d);由从公元1年1月1日起的天数返回日期:DateDate::NumToDate(intn);2.主要算法描述ostream&operator<<(ostream&out,constDate&d);//重载输出运算符istream&operator>>(istream&in,Date&d);//重载6、输入运算符>>三程序代码#includeusingnamespacestd;classDate{private:intyear;intmonth;intday;public:Date(inty=1,intm=1,intd=1):year(y),month(m),day(d){}//构造函数voidSetYear(inty){year=y;}voidSetMonth(intm){month=m;}voidSetDay(intd){day=d;}intGetYear()const{returnyea7、r;}intGetMonth()const{returnmonth;}intGetDay()const{returnday;}Dateoperator+(intdays);Dateoperator-(intdays);staticboolIsLeapyear(inty);//判断年份y是否为润年staticintGetYearDays(inty);staticintGetMonthDays(constDate&d);staticintDateToNum(constDate&d);staticDateNumToDat8、e(intn);};ostream&operator<<(ostream&out,constDate&d);//重载输出运算符istream&operator>>(istream&in,Date&d);//重载输入运算符>>DateDate::operator+(intdays)//返回当前日期加上天数后得到的日期{intn=DateToNum(*this)
3、d){}设计年/月/日:voidSetYear(inty){year=y;};voidSetMonth(intm){month=m;};voidSetDay(intd){day=d;}。返回年/月/日:intGetYear()const{returnyear;};intGetMonth()const{returnmonth;};intGetDay()const{returnday;}。判断年份y是否为润年:staticboolIsLeapyear(inty);年份y的天数:staticintGetYearDays(
4、inty);日期d当前月份的天数:staticintGetMonthDays(constDate&d);返回从公元1年1月1日起的天数:staticintDateToNum(constDate&d);由从公元1年1月1日起的天数返回日期:staticDateNumToDate(intn);(3)Data类的实现:返回当前日期加/减上天数后得到的日期:DateDate::operator-/+(intdays)判断年份y是否为润年:boolDate::IsLeapyear(inty);年份y的天数:intDate::
5、GetYearDays(inty);日期d当前月份的天数:intDate::GetMonthDays(constDate&d);返回从公元1年1月1日起的天数:intDate::DateToNum(constDate&d);由从公元1年1月1日起的天数返回日期:DateDate::NumToDate(intn);2.主要算法描述ostream&operator<<(ostream&out,constDate&d);//重载输出运算符istream&operator>>(istream&in,Date&d);//重载
6、输入运算符>>三程序代码#includeusingnamespacestd;classDate{private:intyear;intmonth;intday;public:Date(inty=1,intm=1,intd=1):year(y),month(m),day(d){}//构造函数voidSetYear(inty){year=y;}voidSetMonth(intm){month=m;}voidSetDay(intd){day=d;}intGetYear()const{returnyea
7、r;}intGetMonth()const{returnmonth;}intGetDay()const{returnday;}Dateoperator+(intdays);Dateoperator-(intdays);staticboolIsLeapyear(inty);//判断年份y是否为润年staticintGetYearDays(inty);staticintGetMonthDays(constDate&d);staticintDateToNum(constDate&d);staticDateNumToDat
8、e(intn);};ostream&operator<<(ostream&out,constDate&d);//重载输出运算符istream&operator>>(istream&in,Date&d);//重载输入运算符>>DateDate::operator+(intdays)//返回当前日期加上天数后得到的日期{intn=DateToNum(*this)
此文档下载收益归作者所有