《c++ 基于时间类的运算符重载实验.docx》由会员分享,可在线阅读,更多相关《c++ 基于时间类的运算符重载实验.docx(9页珍藏版)》请在金锄头文库上搜索。
1、实验:定义一个时间类Time(时,分,秒),通过操作符重载实现:时间的比较(=、!=、=、=、”这个运算符重载。它在Cpp文件里定义如下:由上可知,程序有点复杂了,不过思路还是很清晰的。首先,通过比较两个时间类的时,看它们是否符合大于等于关系,如果没有则返回false值。然后比较时是否相等,如果不相等则说明第一个类的时一定大于第二个类的时,则返回true值。比较完时,如果在时相等的情况下,再来比较分,与比较时的程序相同,能轻松得出两个类的分的大小。在分也相等的情况下,再来比较秒,如果大于则返回true值,否则返回false值。至此,两类的时间大小可比较出来是否存在大于关系。鉴于有多种情况,我就
2、其中3种进行截图。实验结果如下:.4:我们来看“=”这个运算符重载。它在Cpp文件里定义如下:相比“=”这种情况,程序的量相差无几。不过在一个地方做了改动。最后在比较秒的时候,如果满足大于等于关系就能都返回true值。实验结果如下:.5:我们来看“”这个运算符重载。它在Cpp文件里定义如下:由上可知,因为“”是相反关系,所以把“”函数里的“”号改为“”号就行了。实验结果如下:.6:我们来看“=”这个运算符重载。它在Cpp文件里定义如下:鉴于“=”的关系也是相反的,故修改如同上面所示。实验结果如下:7:我们来看“+=”这个运算符重载。它在Cpp文件里定义如下:让一个int型的值与时间类的秒相加,如果溢出则进位到分,实验结果如下:8:我们来看“-=”这个运算符重载。它在Cpp文件里定义如下:秒相减,如果不够则借位,实验结果如下所示:至此,所有运算符重载操作解说完成,下面附上总的实验结果截图:总结:此次实验充分让我理解了运算符重载的含义,并且锻炼了我对C文件的管理能力,可能代码有需要简化的地方,希望能与老师多多交流。也希望以后能多一点这样的实验。