找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2229|回复: 0
打印 上一主题 下一主题
收起左侧

C++语言简单的运算符重载

[复制链接]
跳转到指定楼层
楼主
ID:71259 发表于 2014-12-30 01:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 daming 于 2014-12-30 02:15 编辑
  1. #include<iostream>
  2. using namespace std;
  3. class Clock                //时钟类定义
  4. {
  5. public:                  //外部接口
  6. Clock(int H=0,int M=0,int S=0);
  7. void show_time();
  8. Clock& operator ++();          //前置单目运算符重载
  9. Clock operator ++(int);        //后置单目运算符重载
  10. private:                       //私有数据成员
  11. int Hour,Minute,Second;
  12. };

  13. Clock::Clock(int H,int M,int S)         //构造函数      
  14. {
  15. if((H >=0&&H <=23)&&(M >=0&&M <=59)&&(S >=0&&S <=59))
  16. {
  17.   Hour=H;
  18.   Minute=M;
  19.   Second=S;
  20. }
  21. else
  22.   cout<<"Time error!"<<endl;
  23. }
  24. void Clock::show_time()               //显示时间函数
  25. {
  26. cout<<Hour<<":"<<Minute<<":"<<Second<<endl;
  27. }
  28. Clock& Clock::operator ++()            //前置单目运算符重载函数
  29. {
  30. Second++;
  31. if(Second>=60){
  32.   Second=Second-60;
  33.   Minute++;
  34.   if(Minute>=60){
  35.    Minute=Minute-60;
  36.    Hour++;
  37.    Hour=Hour%24;
  38.   }
  39. }
  40. return *this;
  41. }
  42. Clock Clock::operator ++(int)       //后置单目运算符重载,  注意形参表中的整型参数
  43. {
  44. Clock old=*this;
  45. ++(*this);
  46. return old;
  47. }
  48. int main()
  49. {
  50. Clock A(23,59,59);
  51. cout<<"First time output:";
  52. A.show_time();
  53. cout<<"Show A++:";
  54. (A++).show_time();
  55. cout<<"show ++A:";
  56. (++A).show_time();
  57. }
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表