下一秒的时间++重载

实现时间下一秒的时间

时间 + 秒数  得到 时间

样例输入   23 15 1

                  66

样例输出    23:15:01

                     23:15:02

                     23:16:08

样例输入    23 58 0 120

样例输出     23:58:00

                     23:58:01

                     00:00:01

void Time::printTime()
{
 cout<<setfill('0')<<setw(2)<<hour
  <<":"<<setw(2)<<minute<<":"
  <<setw(2)<<second<<endl;
}

class Time
{
private:
    int hour,minute,second;
public:
    Time(int h=0,int m=0,int s=0);//构造函数,设默认值 
    void setTime(int h,int m,int s);
    Time operator++();//++单目运算符重载,这里是0个参数
    friend Time operator+(int increase,Time &t);//定义为友元
    void printTime();
};

Time::Time(int h,int m,int s) 
{
    hour=h;
    minute=m;
    second=s;
}

void Time::setTime(int h,int m,int s)
{
    hour=h;
    minute=m;
    second=s;
}

void Time::printTime()
{
    cout<<setfill('0')<<setw(2)<<hour<<":"<<setw(2)<<minute<<":"<<setw(2)<<second<<endl;
}

Time Time::operator++()//返回类的,一般需要在成员函数内实例化;注意先自加,再赋值
{
    Time t2;
    second+=1;
    t2.hour=hour;
    t2.minute=minute;
    t2.second=second;
    return t2;
}

Time operator+(int increase,Time &t1)//可看成普通函数,非类成员 
{
    Time t3;
    int minute_turn,hour_turn,day_turn;
    t3.second=t1.second+increase;//加上秒数 
    minute_turn=t3.second/60;//计算多出分钟轮次 
    t3.second%=60;//多出秒数取余 
    t3.minute=t1.minute+minute_turn;//加上分钟 
    hour_turn=t3.minute/60;//计算多出小时轮次 
    t3.minute%=60;//多出分钟取余
    t3.hour=t1.hour+hour_turn;//加上小时
    day_turn=t3.hour/60;//计算多出天数轮次
    t3.hour%=24; //多出小时取余
    return t3;
}
//StudybarCommentBegin
#include <iostream>
#include <iomanip>
using std::cin;
 using std::cout;
 using std::endl;
 using std::setfill;
 using std::setw;
//StudybarCommentEnd
//StudybarCommentBegin
int main()
{
	int hour,minute,second;
	int increase;
	Time t1(23,45,0),t2,t3(t1);
	cin>>hour>>minute>>second>>increase;
	t1.setTime(hour,minute,second);
	t1.printTime();
	t2=++t1;
	t2.printTime();
	t3=increase+t1;
	t3.printTime();
        return 0;
}
//StudybarCommentEnd

-END

posted @ 2023-04-22 00:19  找回那所有、  阅读(118)  评论(0)    收藏  举报
这里到底了哦~(●'◡'●)