高等程序设计实验报告推荐定稿版_第1页
高等程序设计实验报告推荐定稿版_第2页
高等程序设计实验报告推荐定稿版_第3页
高等程序设计实验报告推荐定稿版_第4页
高等程序设计实验报告推荐定稿版_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高等程序设计实验报告推荐姓名实验12运算符重载(2)学号别班级nn该类还要提供下述重载的运算符(分别使用成员函数和友元函数):1)重载加法运算符+,将两个多项式相加;2)重载减法运算符-,将两个多项式相减;3)重载赋值运算符=,将一个多项式赋给另外一个多项式;4)重载乘法算符*,将两个多项式相乘;5)重载加法赋值运算符+=、减法赋值运算符-=以及乘法赋值运算符*=。(1)包含年(year)、月(month)和日(day)私有数据成员。(2)包含构造函数,重载关于一日期加上天数的加法运算符+、重载关于一日期减去天数提示:由于各C++编译器对于重载输入/出运算符为友元的兼容性都存在问题,最好重载输入/出运算符不声明为成员函数与友元函数,而声明一般函数,为编程更方便,可增加voidSetYear(inty);ntSetMonthintm置年置月tintyyDatedstDatedntn期(1)包含时(hour)、分(minute)和秒(second)私有数据成员。(2)包含构造函数,重载关于一时间加上另一时间的加法运算符+、重载关于一时间减去提示:可仿照第4题编程实现,可将时间转换成秒数,将秒数转成时间进行辅助编秒数=时*3600+分*60+秒秒数转换成时间:时=秒数/3600分=(秒数-时*3600)/60秒=秒数%60为编程更方便,可增加一些成员函数,比如:voidSetHour(inthh);//设置小时voidSetMinute(intmm);voidSetSecond(intss);intGetHour()const;intGetMinute()const;//设置分钟//设置秒//返回小时//返回分钟intGetSecond()const;//返回秒四、实验结果(包括程序或图表、结论陈述、数据记录及分析等,可附页)nnstreamniohusingnamespacestd;tiiijj}turnchessBoardab{coutaendliii{jj}return}t数。该类还要提供下述重载的运算符(分别使用成员函数和友元函数):1)重载加法运算符+,将两个多项式相加;2)重载减法运算符-,将两个多项式相减;3)重载赋值运算符=,将一个多项式赋给另外一个多项式;4)重载乘法算符*,将两个多项式相乘;5)重载加法赋值运算符+=、减法赋值运算符-=以及乘法赋值运算符*=。streamniohusingnamespacestd;{ints{iii}{iii{rintjjij{{}}}}{turnab}{iii{}jjj]<<endl;return}(1)包含年(year)、月(month)和日(day)私有数据成员。(2)包含构造函数,重载关于一日期加上天数的加法运算符+、重载关于一日期减去天数C问题,最好重载输入/出运算符不声明为成员函数与友元函数,而声明一般函数,为编程更方便,可增voidSetYear(inty);intSetMonth(intm);intSetDay(intd);intGetYear()const;intGetMonth()const;intGetDay()const;staticintIsLeapyear(inty);staticintGetDays(inty);staticintGetDays(constDate&d);staticintDateToNum(constDate&d);staticDateNumToDate(intn);期//设置年//设置月//设置日//返回年//返回月//返回日:年份能被4整除,并且年份不能被100整除,或者年份能被400整除(1)程序实现streamhnioh{Dateinta0,intb=0,intc=0);voidSetDateintaintb,intc);ateteoperatorintstreamoperatorostreamDatestreamoperatoristreamDateDate::Date(inta,intb,intc){unthb}voidDate:Set_Date(inta,intb,intc){unthb}eGetDate{coutyearmounthdate"<<endl;coutendl}DateDate::operator+(inta){{his}{{{{ounth}}{{{ounth}{{{ounth}ounth}}}}{{{ounth}}{{{ounth}}{{{ounth}ounth}}}}his}}{{his}{{{{mounth--;}}{{{mounth--;}}{{{year--;mounth}mounth--;}}}}{{{mounth--;}}{{{mounth--;}}{{{year--;mounth}mounth--;}}}}his}}amoperatorostreamoutputDatea{coutayearamounthadate<"日"<<endl;utput}tDatea{outoutoutcin>>a.date;urninput}{ateabcndloutcout<<"月:";outyzndltendlcoutcz"<<"得到的日期为:"<<endl;tendlcoutbz"<<"得到的日期为:"<<endl;b=b-z;Datereturn}(2)结果截图(1)包含时(hour)、分(minute)和秒(second)私有数据成员。(2)包含构造函数,重载关于一时间加上另一时间的加法运算符+、重载关于一时间减去提示:可仿照第4题编程实现,可将时间转换成秒数,将秒数转成时间进行辅助编秒数=时*3600+分*60+秒时=秒数/3600分=(秒数-时*3600)/60秒=秒数%60为编程更方便,可增加一些成员函数,比如:tHourinthhMinuteintmmoidSetSecondintssstreamniohusingnamespacestd;{TimeoperatorTimea;imeoperatorTimeaimeoperatorTimeatHourinthhMinuteintmmoidSetSecondintssime{inute}TimeTime:operator+(Timea){tempasallpsallutetempsalltemphourmpsallntemp}{tempasallpsallutetempsalltemphourmpsallntemp}TimeTimeoperatorTimea{nuteaminuteurhis}TimeTimeoperatorTimea{ndturna}TimeSetHourinthh{}meSetMinuteintmm{nutemm}voidTimeSetSecond(intss){ond}{ur}{ute}{nsecond}{rnsall}{Timet

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论