c++ 基于时间类的运算符重载实验

c++ 基于时间类的运算符重载实验

ID:11187583

大小:269.12 KB

页数:9页

时间:2018-07-10

c++ 基于时间类的运算符重载实验_第1页
c++ 基于时间类的运算符重载实验_第2页
c++ 基于时间类的运算符重载实验_第3页
c++ 基于时间类的运算符重载实验_第4页
c++ 基于时间类的运算符重载实验_第5页
资源描述:

《c++ 基于时间类的运算符重载实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验:定义一个时间类Time(时,分,秒),通过操作符重载实现:时间的比较(==、!=、>、>=、<、<=)、时间增加/减少若干秒(+=、-=)由题意,我定义了一个时间类Time,并且定义时(shi),分(fen),秒(miao)这些私有数据成员。然后在main函数那里就可以通过构造函数定义一个时间了。如下图所示:由上图可知,我还对(==、!=、>、>=、<、<=)这些运算符进行了重载,返回bool类型的值。而且,对于时间增加/减少若干秒,我用友元函数方式让一个时间类Time和int类型的数值(秒)相加。下面我将对各种运算符重载做详细说明。1:首先,我们来看“==”这

2、个运算符重载。它在Cpp文件里的定义如下:由上可知,只有两个时间类的时,分,秒分别相等,才能返回一个true值,否则返回一个false值。具体程序是通过条件语句构造而成,一目了然。而我们在main函数里先定义两个时间类time0,time1。分别让它们相等和不相等运行一次,实验结果如下:2:我们来看“!=”这个运算符重载。它在Cpp文件里定义如下:由上可知,它就是把“==”运算符重载函数里的true和false互换而已,却起到了相反的效果。实验结果如下:3:我们来看“>”这个运算符重载。它在Cpp文件里定义如下:由上可知,程序有点复杂了,不过思路还是很清晰的。首先,通

3、过比较两个时间类的时,看它们是否符合大于等于关系,如果没有则返回false值。然后比较时是否相等,如果不相等则说明第一个类的时一定大于第二个类的时,则返回true值。比较完时,如果在时相等的情况下,再来比较分,与比较时的程序相同,能轻松得出两个类的分的大小。在分也相等的情况下,再来比较秒,如果大于则返回true值,否则返回false值。至此,两类的时间大小可比较出来是否存在大于关系。鉴于有多种情况,我就其中3种进行截图。实验结果如下:………………………………..4:我们来看“>=”这个运算符重载。它在Cpp文件里定义如下:相比“=”这种情况,程序的量相差无几。不过在一

4、个地方做了改动。最后在比较秒的时候,如果满足大于等于关系就能都返回true值。实验结果如下:…………………………..5:我们来看“<”这个运算符重载。它在Cpp文件里定义如下:由上可知,因为“<”与“>”是相反关系,所以把“>”函数里的“>”号改为“<”号就行了。实验结果如下:…………………………………………….6:我们来看“<=”这个运算符重载。它在Cpp文件里定义如下:鉴于“<=”与“>=”的关系也是相反的,故修改如同上面所示。实验结果如下:7:我们来看“+=”这个运算符重载。它在Cpp文件里定义如下:让一个int型的值与时间类的秒相加,如果溢出则进位到分,实验结

5、果如下:8:我们来看“-=”这个运算符重载。它在Cpp文件里定义如下:秒相减,如果不够则借位,实验结果如下所示:至此,所有运算符重载操作解说完成,下面附上总的实验结果截图:总结:此次实验充分让我理解了运算符重载的含义,并且锻炼了我对C文件的管理能力,可能代码有需要简化的地方,希望能与老师多多交流。也希望以后能多一点这样的实验。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。