C++程序设计: 设计一个时间类Time,要求如下:

C++程序设计:设计一个时间类Time,要求如下:⑴:包含时(hour),分(minute),秒(second)私有数据成员。⑵:包含构造函数,重载关于一段时间加上另一段... C++程序设计:
设计一个时间类Time,要求如下:⑴:包含时(hour),分(minute),秒(second)私有数据成员。
⑵:包含构造函数,重载关于一段时间加上另一段时间的加法运算符“+”、重载关于一段时间减去另一段时间的减法运算符“-”、重载输入运算符“<<”和输出运算符“>>”
展开
 我来答
Dcltype
2017-05-28 · TA获得超过352个赞
知道小有建树答主
回答量:350
采纳率:0%
帮助的人:214万
展开全部
#include<iostream>
using namespace std;
class Time
{
    public:
    Time(void);
    Time(int hour,int minute,int second);
    Time operator +(const Time &time);
    Time operator -(const Time &time);
    friend ostream& operator <<(ostream& out,const Time &time);
    friend istream& operator >>(istream& in,const Time &time);
    private:
    int hour;
    int minute;
    int second;
};
Time::Time(void)
{
    this->hour = 0;
    this->minute = 0;
    this->second = 0; 
}
Time::Time(int hour,int minute,int second)
{
    this->hour = hour;
    this->minute = minute;
    this->second = second; 
}
Time Time::operator +(const Time &time)
{
    Time newTime;
    newTime.hour = this->hour + time.hour;
    newTime.minute = this->minute+ time.minute;
    newTime.second = this->second + time.second;
    if(newTime.second >= 60)
    {
        newTime.second %= 60;
        newTime.minute += 1;
    }
     if(newTime.minute >= 60)
    {
        newTime.minute %= 60;
        newTime.hour += 1;
    }
     if(newTime.hour >= 24)
    {
        newTime.hour %= 24;
    }
    return newTime;
}
Time Time::operator -(const Time &time)
{
    Time newTime;
    newTime.hour = this->hour - time.hour;
    newTime.minute = this->minute - time.minute;
    newTime.second = this->second - time.second;
    if(newTime.second < 0)
    {
        newTime.second += 60;
        newTime.minute -= 1;
    }
     if(newTime.minute < 0)
    {
        newTime.minute += 60;
        newTime.hour -= 1;
    }
     if(newTime.hour < 0)
    {
        newTime.hour += 24;
    }
    return newTime;    
}
ostream& operator <<(ostream& out,const Time &time)
{
    out<<time.hour<<":"<<time.minute<<":"<<time.second<<endl;
    return out;
}
istream& operator >>(istream& in,const Time &time)
{
    in>>time.hour>>time.minute>>time.second;
    return in;
}
更多追问追答
追问
没有main函数吗?
这个运行出来好多错啊
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式