问题描述
编写一个程序,定义一个时间类Time,包含三个属性: hour, minute 和 second
要求通过运算符重载实现如下功能:
-
时间输入输出(>>、<<);
-
时间增加减少若干(+=、-=),例:Time& operator+=(const Time&);Time& operator-=(const Time&);
-
时间前、后自增加/减少1秒(++、–),前自增例:Time& operator++(); 后自增例:Time operator++(int);
输入形式
- 输入固定为两个Time实例(time1,time2),每个实例占一行;
- Time实例输入格式为:hour minute second。
输出形式
-
Time实例输出格式为:hour:minute:second;
-
每个输出实例占一行。
依次输出以下表达式的值
- time1 += (time2++)
- time1 -= time2
- ++time2
- time2 += (time1–)
- –time1
- time2 -= time1
样例输入
21 10 35
10 15 25
样例输出
07:26:00
21:10:34
10:15:27
07:26:01
21:10:32
10:15:29
代码
#include <iostream>
#include <iomanip>
using namespace std;
class Time
{
private:
int hour;
int minute;
int second;
public:
Time(int h = 0, int m = 0, int s = 0) : hour(h), minute(m), second(s){
};
Time(const Time &other) : hour(other.hour), minute(other.minute), second(other.second){
};
friend istream &operator>>(istream &inpu