设计一个时间类Time C++

来源:百度知道 编辑:UC知道 时间:2024/06/06 04:28:56
设计一个时间类Time,其结构如下:
 私有数据成员包含小时(Hour)、分钟(Minite)和秒(Second);
 三个重载构造函数:
 一个是无参数的构造函数;
 一个是带坐标值参数的构造函数,实现对数据成员的初始化;
 一个是copy构造函数,实现用一个对象初始化本对象;
 成员函数实现时间对象相加、减运算:
 Time& Add(Time&);
 Time& Sub(Time&);
 成员函数实现时间对象自增++、自减− −运算:
 void operator + + ();//自增1秒(按两种结合形式)
 void operator − − ();//自减1秒(按两种结合形式)
 友元函数实现时间对象相加、减的运算符重载:
 friend Time& operator + (Time&, Time&);
 friend Time& operator − (Time&, Time&);
 公有成员函数void Display();输出对象的数据成员;

//OK,好不容易写完了,可惜分太少了,算了,权当练习吧,VC6.0下测试通过

#include<iostream.h>
#include<string.h>
#include<math.h>
class Time
{
public:
Time():Hour(0),Minute(0),Second(0){}
Time(int h,int m,int s):Hour(h),Minute(m),Second(s){}
Time (Time&t):Hour(t.Hour),Minute(t.Minute),Second(t.Second){}
Time& Add(Time&);
Time& Sub(Time&);
friend Time& operator+( Time&, Time&);
friend Time& operator - (Time&, Time&);
void operator ++();//自增1秒(按两种结合形式)
void operator -- ();//自减1秒(按两种结合形式)
void operator ++(int);//自增1秒(按两种结合形式)
void operator -- (int);//自减1秒(按两种结合形式)
void Display()
{cout<<Hour<<":"<<Minute<<":"<<Second<<endl;}
private:
int Hour,Minute,Second;
};

Time& operator+( Time&t1, Time&t2)
{
int temp=t1.Hour*3600+t1.Minute*60+t1.Second+(t2.Hour*3600+t2.Minute*60+t2.Second);
t1