题目:
1、设计一个名为Time的类
2、定义hour minute second的数据字段
3、为当前时间创建一个无参对象 Time()
4、创建一个有参数的构造函数,自1970年1月1日午夜以来的时间
5、创建一个构造函数,用指定的小时 分钟 秒来构造一个对象
6、设计能获取hour minute second的get函数
7、设置一个名为settime(int elapsetime)函数,为对象设置一个新的函数
8、编写代码实现这个类,创建两个time对象,一个使用无参构造函数,另一个使用time(555550)并显示它们的hour minute second
UML
Time
-second:int
+hour:int
+minute:int
+Time()
+Time(newSecond:int)
+Time(newHour2:int,newMinute2:int,newSecond2:int)
+getHour():int
+getMinute():int
+getSecond();int
+setTime(elapseTime:int):void
//TimeWithPrivateDateFields.h
#ifndef TIME_H
#define TIME_H
class Time
{
public:
int hour;
int minute;
Time();
Time(int);
Time(int, int, int);
int getHour();
int getMinute();
int getSecond();
void setTime(int elapseTime);
private://申明私有数据字段进行数据字段封装
int second;
};//定义类,从类实现中分离出类定义
#endif//使用#ifndef指令来防止头文件中的多个包含
//TimeWithPrivateDateFields.cpp
#include<ctime>
#include"TimeWithPrivateDateFields.h"
Time::Time()
{
second = time(0);
}//构建无参构造函数
Time::Time(int newSecond)
{
second = newSecond;
}//构造函数
Time::Time(int newHour2, int newMinute2, int newSecond2)
{
hour = newHour2;
minute = newMinute2;
second = newSecond2;
}//构造函数,用指定的hour minute second构造一个time对象
int Time::getSecond()
{
return second % 60;
}//获取second的函数
int Time::getMinute()
{
return (second / 60) % 60;
}//获取minute的函数
int Time::getHour()
{
return (second / 360) % 24;
}//获取hour的函数
void Time::setTime(int elapseTime)
{
second = elapseTime;
}//为对象设置一个新的时间
//TestTimeWithPrivateDateFields.cpp
#include<iostream>
#include"TimeWithPrivateDateFields.h"
using namespace std;
int main()
{
Time time1;
Time time2(555550);
cout << "Hour is " << time1.getHour() << " Minute is " <<time1.getMinute()
<< " second is " <<time1.getSecond() << endl;
cout << "Hour is " << time2.getHour() << " Minute is " << time2.getMinute()
<<" second is " << time2.getSecond() << endl;
//用对象尘缘访问操作符(.)调用函数
return 0;
}