6-2 时钟模拟 (30分)
一个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; }
<< >>也要专门写一个重载函数