您的位置:首页 > 其它

this指针完成串联的函数调用

2014-08-06 22:52 204 查看
Time.h

#ifndef TIME_H
#define TIME_H
class Time
{public:
Time(int=0,int=0,int=0);
Time &setTime(int,int,int);
Time &setHour(int);
Time &setMinites(int);
Time &setSecond(int);
int getHour() const;
int getMinites() const;
int getSecond() const;
void printUniversal() const;
void printStandard() const;
private:
int hour;
int minite;
int second;;
};
#endif


Time.cpp

#include<iostream>
using namespace std;
#include<iomanip>
#include"Time.h"
Time::Time(int hr,int min,int sec)
{setTime(hr,min,sec);
}
Time &Time::setTime(int h,int m,int s)
{setHour(h);
setMinite(m);
setSecond(s);
return *this;
}
Time &Time::setHour(int h)
{hour=(h>=0&&h<24)?h:0;
return *this;
}
Time &Time::setMinite(int m)
{minite=(m>=0&&m<60)?m:0;
return *this;
}
Time &Time::setSecond(int s)
{second=(s>=0&&s<60)?s:0;
return *this;
}
int Time::getHour() const
{return hour;
}
int Time::getMinite() const
{return minite;
}
int Time::getSecond() const
{return second;
}
void Time::printUniversal() const
{cout<<setfill('0')<<setw(2)<<hour<<":"<<setw(2)<<minite<<":"<<setw(2)<<second;
}
void Time::printStabdard() const
{cout<<((hour==0||hour==12)?12:hour%12)<<":"<<setfill(0)<<setw(2)<<minite<<":"<<setw(2)<<second<<(hour<12?"AM":"PM");
}

demo.cpp

#include<iostream>
using namespace;
#include"Time.h"
int main()
{Time t;
t.setHour(8)setMinite(30).setSecond(22);
t.printUniversal();
t.printStandard();
t.setTime(20,20,20).printStandard();
cout<<endl;
return 0;
}


结果

18:30:22

6:30:22PM

8:20:20PM
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐