找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2203|回復(fù): 0
收起左側(cè)

C++語言簡單的運算符重載

[復(fù)制鏈接]
ID:71259 發(fā)表于 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:                       //私有數(shù)據(jù)成員
  11. int Hour,Minute,Second;
  12. };

  13. Clock::Clock(int H,int M,int S)         //構(gòu)造函數(shù)      
  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()               //顯示時間函數(shù)
  25. {
  26. cout<<Hour<<":"<<Minute<<":"<<Second<<endl;
  27. }
  28. Clock& Clock::operator ++()            //前置單目運算符重載函數(shù)
  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)       //后置單目運算符重載,  注意形參表中的整型參數(shù)
  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. }
復(fù)制代碼


回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表