设计一个时间类Time,要求: (1)包含时(hour)、分(minute)和秒(second)私有数据成员。 (2)包含构造函数,重载关于一时间加上另一时间的加法运算符+、重载关于一时间减去另一时间
2013-12-02 23:38
3043 查看
#include<iostream>
using namespace std;
class Time
{
private:
int hour;
int minute;
int second;
public:
Time();
Time(int h, int m ,int s);
Time operator+(Time &t);
Time operator-(Time &t);
Time operator>>(Time &t);
Time operator<<(Time &t);
void setHour(int h )
{
hour=h;
}
void setMinute(int m)
{
minute=m;
}
void setSecond(int s)
{
second=s;
}
int getHour()
{
return hour;
}
int getMinute()
{
return minute;
}
int getSecond()
{
return second;
}
};
Time::Time()
{
hour=0;
minute=0;
second=0;
}
Time::Time(int h, int m ,int s)
{
hour=h;
minute=m;
second=s;
if(hour>=24)
hour=hour%24;
if(minute>=60)
hour=hour+1;
minute=minute%60;
if(second>60)
minute=minute+1;
second=second%60;
}
Time Time::operator +(Time &t)
{
return Time(hour+t.getHour(),minute+t.getMinute(),second+t.getSecond());
}
Time Time::operator-(Time &t)
{
return Time(hour-t.getHour(),minute-t.getMinute(),second-t.getSecond());
}
Time Time::operator >>(Time &t)
{
int h,m,s;
cout<<"inputTime1:"<<endl;
cin>>h>>m>>s;
hour=h;
minute=m;
second=s;
cout<<"inputTime2:"<<endl;
cin>>h>>m>>s;
t.setHour(h);
t.setMinute(m);
t.setSecond(s);
return Time(hour+t.getHour(),minute+t.getMinute(),second+t.getSecond());
}
Time Time::operator <<(Time &t)
{
cout<<t.getHour()<<':'<<t.getMinute()<<':'<<t.getSecond()<<endl;
return Time(hour+t.getHour(),minute+t.getMinute(),second+t.getSecond());
}
int main()
{
Time t1(1,2,3);
Time t2(2,3,4);
Time t3;
t3 = t1+t2;
t3 = t1>>t2;
t3<<(t1+t2);
}
运行结果:
inputTime1:
20 30 54
inputTime2:
14 25 25
10:56:19
Press any key to continue
using namespace std;
class Time
{
private:
int hour;
int minute;
int second;
public:
Time();
Time(int h, int m ,int s);
Time operator+(Time &t);
Time operator-(Time &t);
Time operator>>(Time &t);
Time operator<<(Time &t);
void setHour(int h )
{
hour=h;
}
void setMinute(int m)
{
minute=m;
}
void setSecond(int s)
{
second=s;
}
int getHour()
{
return hour;
}
int getMinute()
{
return minute;
}
int getSecond()
{
return second;
}
};
Time::Time()
{
hour=0;
minute=0;
second=0;
}
Time::Time(int h, int m ,int s)
{
hour=h;
minute=m;
second=s;
if(hour>=24)
hour=hour%24;
if(minute>=60)
hour=hour+1;
minute=minute%60;
if(second>60)
minute=minute+1;
second=second%60;
}
Time Time::operator +(Time &t)
{
return Time(hour+t.getHour(),minute+t.getMinute(),second+t.getSecond());
}
Time Time::operator-(Time &t)
{
return Time(hour-t.getHour(),minute-t.getMinute(),second-t.getSecond());
}
Time Time::operator >>(Time &t)
{
int h,m,s;
cout<<"inputTime1:"<<endl;
cin>>h>>m>>s;
hour=h;
minute=m;
second=s;
cout<<"inputTime2:"<<endl;
cin>>h>>m>>s;
t.setHour(h);
t.setMinute(m);
t.setSecond(s);
return Time(hour+t.getHour(),minute+t.getMinute(),second+t.getSecond());
}
Time Time::operator <<(Time &t)
{
cout<<t.getHour()<<':'<<t.getMinute()<<':'<<t.getSecond()<<endl;
return Time(hour+t.getHour(),minute+t.getMinute(),second+t.getSecond());
}
int main()
{
Time t1(1,2,3);
Time t2(2,3,4);
Time t3;
t3 = t1+t2;
t3 = t1>>t2;
t3<<(t1+t2);
}
运行结果:
inputTime1:
20 30 54
inputTime2:
14 25 25
10:56:19
Press any key to continue
相关文章推荐
- 设计一个日期类Date,,要求: (1)包含年(year)、月(month)和日(day)私有数据成员。 (2)包含构造函数,重载关于一日期加上天数的加法运算符+、重载关于一日期减去天数的减加运算符-
- 设计一个日期类Date,,要求: (1)包含年(year)、月(month)和日(day)私有数据成员。 (2)包含构造函数,重载关于一日期加上天数的加法运算符+、重载关于一日期减去天数的减加运算符-
- 设计一个时间类Time, 包括时,分,秒等私有数据成员。要求实现时间的基本运算,一个时间加上另一个时间。。
- 声明一个时间类,时间类中有3个私有数据成员(Hour,Minute,Second)和两个公有成员函数(SetTime和PrintTime)。
- 设计一个日期类Date,包括年、月、日等私有成员。要求实现日期的基本运算,例如某日期加上天数或减去天数
- [5.19]设计一个虚基类base,包含姓名和年龄私有数据成员以及相关的成员函数;由它派生出领导类leader,包含职务和部门私有数据成员以及相关的成员函数;再由base派生出工程师类engieer,
- 定义一个圆类(Circle),私有数据成员为半径(radius)、圆周长和面积,共有成员函数为输入半径;计算周长、面积;输出半径、周长和面积。要求定义构造函数(以半径为参数,缺省值为0,周长和面积在
- 一串首尾相连的珠子(m 个),有N 种颜色(N<=10),设计一个算法,取出其中一段,要求包含所有N 中颜色,并使长度最短。并分析时间复杂度与空间复杂度。
- 编写一个密码类,其中包含一个 str 密码字符串私有成员数据,一个“==”运算 符重载成员函数,用于比较用户输入的密码是否正确。并用数据测试该类。
- 编写设计一个People(人)类。该类的数据成员有年龄(age)、身高(height)、体重(weight)和人数(num),其中人数为静态数据成员,成员函数有构造函数(People)、进食(Eatt
- 编写一个矩形类,私有数据成员为矩形的长( len)和宽(wid),wid设置为0,有参构造函数设置和的值,另外,类还包括矩形的周长、求面积、取矩形的长度、取矩形的长度、取矩形的宽度、修改矩形的长度和宽度为对应的形参值等公用方法。
- 8.3 编写一个密码类,其中包含一个 str 密码字符串私有成员数据,一个“==”运算 符重载成员函数,用于比较用户输入的密码是否正确。并用数据测试该类
- 编写一个程序设计一个汽车类vehicle,包含的私有数据成员有车轮个数wheels和车重weight
- //设计一个点类,其中包含一对坐标点数据成员、一个求两个点之间距离的友元函 //数 dist 和显示坐标点的成员函数,并用数据进行测试
- 定义一个矩形类(Rectangle),私有数据成员为矩形的长度( len)和宽度(wid),缺省构造函数置len和wid为0,有参构造函数置len和wid为对应形参的值,另外还包括求矩形周长、面积
- 8.6 编写一个类,其中有一个 double 型私有数据成员 yuan(存放人民币数量,单位 为元),另外包含一个转换运算符重载成员函数以将 yuan 转换成美元(假设 1 美元对换 8.268 人民
- 一串首尾相连的珠子(m 个),有N 种颜色(N<=10),设计一个算法,取出其中一段,要求包含所有N 中颜色,并使长度最短。并分析时间复杂度与空间复杂度。
- 7.2 设计一个点类,其中包含一对坐标点数据成员、一个求两个点之间距离的友元函 数 dist 和显示坐标点的成员函数,并用数据进行测试。
- 设计一个学生类,其中包含学号、姓名、成绩等数据成员,创建学生对象并且倒入到文件file.txt,然后由文件读取到另一个学生对象并输出,试编程实现。
- 设计一个点类,其中包含一对坐标点数据成员,一个计算两点距离的友元函数和坐标点的显示函数