一个Time类,数据成员有时、分、秒。要求模拟秒表,每次走一秒,满60秒进位,秒又从零开始计数。满60分进位,分又从零开始计数。输出时、分和秒的值。(使用重载++运算符实现)
时间类定义:
class MyTime
测试程序样例:
/* 请在这里填写答案 */
int main()
{
MyTime t1,t2(23,59,59),t3;
cin>>t3;
++t1;
cout<<t1<<endl;
++t2;
cout<<t2<<endl;
++t3;
cout<<t3<<endl;
return 0;
}
输入样例:
12 35 59
输出样例:
0:0:1
0:0:0
12:36:0
我的代码:
#include <iostream>
#include <string>
using namespace std;
class MyTime
{
int hour,minute,second;
public:
MyTime()
{hour=0;minute=0;second=0;}
MyTime(int ,int ,int );
MyTime operator++( );
friend istream & operator >>(istream &,MyTime &);
friend ostream & operator <<(ostream &,MyTime &);
};
MyTime MyTime::operator ++()
{
second++;
if(second==60){second=0;minute++;}
if(minute==60){minute=0;hour++;}
if(hour==24){hour=0;}
return MyTime(hour,minute,second);
}
MyTime::MyTime(int h,int m,int s)
{
hour=h;minute=m;second=s;
}
istream &operator >>(istream &is,MyTime &t)
{
is>>t.hour; is>>t.minute; is>>t.second;
return is;
}
ostream &operator <<(ostream &os,MyTime &t)
{
os<<t.hour<<":"<<t.minute<<":"<<t.second;
return os;
}
注意<< >>也要重新写一个与之匹配的重载函数