设计一个时间类Time C++
来源:百度知道 编辑:UC知道 时间:2024/06/06 04:28:56
私有数据成员包含小时(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