程序设计】
---------------------------------------------------------题目:有一个Clock类,包含数据成员hour(小时)、minute(分)和sec(秒),
定义三个获取数据成员的成员函数、一个设置时分秒的成员函数
和一个计算两个时间差的函数成员go(单位为秒,非负数),
格式:
int go(Clock c);//计算两个时间差
int getHour();
int getMinute();
int getSec();
void set(int h,int m,int s);// 设置时分秒
样例:
起点=9点55分0秒
终点=10点56分0秒
耗时-3660秒
请按任意键继续. . .
代码如下:
#include <iostream>
#include <cmath>
using namespace std;
/**********Program**********/
class Clock{
private:
int hour,minute,second;
public:
Clock()
{
hour=minute=second=0;
}
//默认构造函数
Clock(int h,int m,int s)
{
hour=h;
minute=m;
second=s;
}
//构造函数
Clock(Clock &clock)
{
hour=clock.hour;
minute=clock.minute;
second=clock.second;
}
//复制构造函数
~Clock(){}
//析构函数
void set(int h,int m,int s)
{
hour=h;
minute=m;
second=s;
}
int getHour()
{
return hour;
}
int getMinute()
{
return minute;
}
int getSec()
{
return second;
}
int go(Clock &p)
{
int time=0;
time=abs(3600*(hour-p.hour)+60*(minute-p.minute)+(second-p.second));
return time;
}
};
/********** End **********/
void display(Clock ck)
{
cout<<ck.getHour()<<"点"<<ck.getMinute()<<"分"<<ck.getSec()<<"秒";
}
void main(void)
{
Clock clock(9,55,0),clock1;
cout<<"起点="; display(clock); cout<<endl;
clock1.set(10,56,0);
cout<<"终点="; display(clock1); cout<<endl;
cout<<"耗时"<<clock.go(clock1)<<"秒"<<endl;
}