C++运算符重载例子代码

来源:互联网 发布:淘宝直通车创意是什么 编辑:程序博客网 时间:2024/05/19 09:47
#include <iostream>using namespace std;class Time{private:    int h,m,s;public:    Time();    Time(int mh,int mm,int ms);    //重载++运算符    Time operator++(int);    void ShowMe();    friend ostream& operator <<(ostream& output,Time &t);};ostream& operator<<(ostream& output,Time& t){    output<<t.h<<":"<<t.m<<":"<<t.s<<endl;    return output;}Time Time::operator++(int){    //保存原值    Time tmp = *this;    //将原值加    s = s+1;    if(s == 60)    {        s = 0;        m = m+1;        if(m==60)        {            m = 0;            h=h+1;            if(h == 24)            {                h = 0;            }        }    }    //返回保存的那个原值    return tmp;}Time::Time(){    h=0;    m=0;    s=0;}Time::Time(int mh,int mm,int ms){    h=mh;    m=mm;    s=ms;}void Time::ShowMe(){    cout<<h<<":"<<m<<":"<<s<<endl;}int main(){    Time t(23,58,59);    t++;    //(t++).ShowMe();    cout<<t;    return 0;}

0 0
原创粉丝点击