C++-PTA-时钟模拟

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;
}

<< >>也要专门写一个重载函数

原文地址:https://www.cnblogs.com/loglian/p/12933775.html