#include<iostream>
#include<cmath>
using namespace std;
class CTime
{
public:
CTime(int h=0,int m=0,int s=0):hour(h),minute(m),sec(s){};
void setTime(int &h,int &m,int &s);
void display();
//二目的比较运算符重载
bool operator > (CTime &t);
bool operator < (CTime &t);
bool operator >= (CTime &t);
bool operator <= (CTime &t);
bool operator == (CTime &t);
bool operator != (CTime &t);
//二目的加减运算符的重载
//返回t规定的时、分、秒后的时间,例t1(8,20,25),t2(11,20,50),t1+t2为20:41:15
CTime operator+(CTime &t);
CTime operator-(CTime &t);
CTime operator+(int s);//返回s秒后的时间
CTime operator-(int s);//返回s秒前的时间
//二目赋值运算符的重载
CTime operator+=(CTime &c);
CTime operator-=(CTime &c);
CTime operator+=(int s);//返回s秒后的时间
CTime operator-=(int s);//返回s秒前的时间
private:
int hour; // 时
int minute; // 分
int sec; // 秒
};//CTime;
void CTime::setTime(int &h,int &m,int &s)
{
if(s>=60)
{
m=m+s/60;
s=s%60;
}//if1
if(s<0)
{
int sus=abs(s/60)+1;
s=sus*60+s;
m=m-sus;
}//if2
if(m>=60)
{
h=h+
C++项目——实现Time类中的运算符重载
最新推荐文章于 2023-02-22 16:46:51 发布