求高手帮我讲一下运算符的重载
时间:2011-11-27
来源:互联网
C/C++ code
#include <iostream> using namespace std; class time { public: time() { minute=0; sec=0; } time(int m,int s); time operator ++(); void display() { cout<<minute<<":"<<sec<<endl; } private: int minute; int sec; }; time::time(int m,int s) { minute=m; sec=s; } time time::operator ++()//////////////需要讲解的地方, { if(++sec>=60)//////////////////需要讲解的地方,如果把>去掉,分就一直加,秒不加了,为什么呢, { sec-=60;////////////////需要讲解的地方 ++minute;//////////////////需要讲解的地方 } return *this;//////////////////////需要讲解的地方 } int main() { int i; time time1(30,1);/////////////////////需要讲解的地方 for(i=0;i<61;i++) { ++time1;//////////////////////需要讲解的地方 time1.display(); } return 0; }
作者: a414715440 发布时间: 2011-11-27
每60秒就是一分啊 需要进位
http://blog.sina.com.cn/s/blog_4b3c1f950100kker.html
http://blog.sina.com.cn/s/blog_4b3c1f950100kker.html
作者: heksn 发布时间: 2011-11-27
你到底什么地方不明白啊,上面的代码其实很简单。
作者: wltg2001 发布时间: 2011-11-27
C/C++ code
/********************************************** 下面函数是一个重载 ++ 的函数。 功能:实现 time 类的 ++ 操作。 参数:无 返回值:time **********************************************/ time time::operator ++()//////////////需要讲解的地方,【这是重载++函数体定义,有什么要讲的?】 { if(++sec>=60)//////////////////需要讲解的地方,如果把>去掉,分就一直加,秒不加了,为什么呢,【把>号去掉就成了 ‘if (++sec = 60)' = 号是赋值操作,返回值是被赋的值。如果是两个 == 才是比较操作。】 { sec-=60;////////////////需要讲解的地方【这句相当于:sec = sec-60】 ++minute;//////////////////需要讲解的地方【这句相当于:minute = minute+1】 } return *this;//////////////////////需要讲解的地方【这句返回 ++ 操作的结果,但我觉得++操作如果都在 this 成员上操作的话,不需要返回值。因为结果成员已经实实在在地有结果了。除非是重载 = 或者+=或者-= 才需要一个返回值。这里返回结果也许作者别有用途?】 } int main() { int i; time time1(30,1);/////////////////////需要讲解的地方 【声明类对象,用30,1来初始化对象】 for(i=0;i<61;i++) { ++time1;//////////////////////需要讲解的地方【这句相当于: time1 = time1+1】 time1.display(); } return 0; }
作者: hb19820102 发布时间: 2011-11-27
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28