问答题

编程题(20分) 【题目】 试定义一个时间类time,具体要求如下: (1)私有数据成员。 int h,m,s:分别表示时、分和秒。 char *str_t:存放时间的字符串,格式为"hh:mm:ss",即"时:分:秒"。 (2)公有成员函数。 time(int hh=0,int mm=0,int ss=0):构造函数,利用参数hh、mm和ss分别初始化成员h、m和s,并为字符串str_t分配9个字节的动态存储空间。要检查参数hh、mm和ss的合法性,即0≤hh<24,0≤mm<60,0≤ss<60,如果不合法,则采用相应的缺省参数值。 ~time():析构函数,撤销str_t所占用的动态存储空间。 void convert():利用全局函数itoa()将成员h、m和s转换为字符串"hh:mm:ss"的形式,并存储在str_t中。 void set_t(int hh,int mm,int ss):利用参数hh、mm和ss分别设置成员h、m和s的值,同时调用成员函数convert()设置成员str_t。注意检查参数的合法性。 void print():输出字符串str_t,按输出示例中的格式输出时间。 (3)char *itoa(int n):全局函数,将整数n转换为字符串形式并返回。只考虑n至多为两位数的情形:当n为一位数时,如n=2,将n转换为"02"的形式;当n为两位数时,如n=59,将n转换为"59"的形式。 (4)在主函数中对该类进行测试。 输出示例: 00:00:00 12:05:30 【要求】 源程序文件名必须为myfb.cpp,并放在T盘根目录下,供阅卷用。

【参考答案】

#inelude #include class time{ ......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)