- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c重载运算符编程
实验课程名称 C++面向对象语言编程
设 计 题 目 重载运算符编程
专 业 班 级 计 算 机 科 学 与 技 术班
面向对象课程设计报告
一、设计时间
2011年6月 13日-----6月17日
二、设计地点
湖南城市学院实验楼计算机机房
三、设计目的
1、《面向对象程序设计》是计算机科学与技术专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。面向对象程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。
2、要求学生在设计指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。
3、要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握面向对象程序设计的基本技能和面向对象的概念和方法。
4、同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。
四、设计小组成员
-09冯雅文、-10李敏、-11孙慧群
五、指导老师
贾丽媛老师
六、设计课题
一个日期类Date,包括年、月、日等私有成员。要求实现日期的基本运算,如一日期加上天数,一日期减去天数、两日期相差天数
七、基本思路及关键问题的解决方法
(一)基本思路:
1:在Date类中设计如下重载运算符函数:
Date operator+(int days); 返回一日期加一天数得到的日期
Date operator-(int days); 返回一日期减去天数得到的日期
int operator-(Date b); 返回两日期相差的天数
2:在实现这些重载运算符函数调用以下私有成员函数:
leap(int); 判断指定的年份是否为闰年
dton(Date ); 将指定日期转换为从0年0月0日起的天数
ntod(int); 将指定的0年0月0日起的天数转换为对应的日期
3:在main()中,实现日期的基本运算
(二)关键问题的解决办法:
1:闰年与非闰年的判断,以及各月的天数的获得问题,解决办法是设置并引用二维数组
2:日期基本问题的实现问题,解决办法是在Date类中设计重载运算符函数:Date operator+(int days)、Date operator-(int days)、int operator-(Date b),同时调用以下私有成员函数leap(int)、dton(Date )、ntod(int)得以实现
3:如何使输入的日期有效,如2011 13 34为无效日期,解决办法是在input()中设置if(month12||month1||dayday_tab[leap(year)][month-1]||year=0),判断日期是否为有效日期。
八、流程图
图 1
九、调试过程中出现的问题及相应解决办法
1:输入无效日期时,也能得到运算结果,如输入0 13 32时,程序没察觉输入错误,细
心检查发现if语句编写错误,改正后得到正确的结果;
2:重载运算符函数的编写,如求两日期相差天数时,由于编写错误,得到错误的答案,
后通过看书,查相关资料,终于改写成功。
十、课程设计心得体会
通过此次课程设计,不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。自己平时学习的不足和薄弱环节在设计过程中,和同学们相互探讨,相互学习,相互监督学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。综合运用知识的能力,学以致用#includeiostream.h
int day_tab[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}};
// day_tab 二维数组存放各月天数,第一行对应非闰年,第二行对应闰年
class Date
{
int year,month,day;
int leap(int);
int dton(Date );
Date ntod(int);
public:
Date(){}
void input()
{
cinyearmonthday;
while(month12||month1||dayday
您可能关注的文档
最近下载
- 一种堆芯结构及空间核反应堆.pdf VIP
- 核反应堆总论 第十一章核燃料设计.ppt VIP
- 物流运输中的突发事件应急处理.pptx VIP
- 1.2 区域整体性和关联性 说课稿 2024-2025学年高二上学期 地理 人教版(2019)选择性必修2.docx VIP
- 机动车尾气技术检测 GB3847培训.pptx VIP
- 人口老龄化背景下城市老年人的社会适应问题研究.pdf VIP
- 物流运输中的突发事件应急响应.pptx VIP
- 儿科-病例分析.docx VIP
- 三一汽车起重机STC350C5-1_产品手册用户使用说明书技术参数图解图示电子版.pdf VIP
- 山东省建筑工程消耗量定额(2016).pdf
文档评论(0)