问题 问答题

使用VC6打开考生文件夹下的工程test35_3。此工程包含一个test35_3.cpp,其中定义了时钟类clock,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)定义类clock的私有数据成员hour和minute,它们都是int型的数据。请在注释“//**1**”之后添加适当的语句。 (2)补充完全类clock的构造函数,私有数据成员hour和minute分别初始化为参数h和m的值,请在注释“//**2**”之后添加适当的语句。 (3)完成类clock的成员函数printtime,的定义,该函数以“Now the time is hour:minute”的格式输出数据成员hour和 minute的值,如hour=3、minute=59,则输出为“Now the time is 03:59”,请在注释“//**3**”之后添加适当的语句。 (4)完成类clock的成员函数addoneminutetime的定义,该函数可将clock类对象表示的时间加一分钟,如现在hour=3、 minute=59,运行该函数后hour=4、minute=0。请在注释“//**4**”之后添加适当的语句。 程序的输出结果如下: Now,the time is 12:59 Now,the time is 13:00 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件test35_3.cpp清单如下: #include<iostream.h> class clock { private: // ** 1 ** public: clock(int h, int m) { // ** 2 ** } int presenthour(){return hour;} int presentminute(){return minute;} void addoneminutetime(); void printtime(); }; void clock::printtime() {if(hour<10) cout<<’0’;// ** 3 **if(minute<10) cout<<’0’;cout<<minute<<end1; } void clock::addoneminutetime() { // ** 4 ** if(minute>59) { minute-=60; hour++; } if(hour>23) hour=0; } void main ( ) { clock c(12,59); c.printtime(); c.addoneminutetime(); c.printtime(); }

答案

参考答案:

解析:(1) int hour; int minute; (2) hour=h; minute=m; (3) cout<<"Now,the time is"<<hour<<":"; (4) minute++; 本题主要考查考生对于类基本概念的掌握和将具体问题转换为模型并编程实现的能力。特别是对于程序中小时与分的范围限定是必不可少的。

单项选择题
单项选择题