首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Clock(“时钟”)的定义和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Clock(“时钟”)的定义和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应
admin
2018-09-22
37
问题
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Clock(“时钟”)的定义和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
Initial times are
0 d:0 h:0 m:59s
After one second times are
0 d:0 h:1 m:0S
注意:只修改每个“//ERROR****found****”下的那一行,不要改动程序中的其他内容。
#include<iostream>
using namespace std;
class Clock
{
public:
Clock(unsigned long i=0);
void set(unsigned long i=0);
void print( )const;
void tick( );//时间前进一秒
Clock operator++( );
private:
uns igned long total_sec,seconds,fminutes,hours,days;
};
Clock::Clock(unsigned long i)
:total sec(i),seconds(i%60),
minutes((i/60)%60),
hours((i/3600)%24),
days(i/86400){}
void Clock::set(unsigned long i)
{
total sec=i;
seconds=i%60;
minutes=(i/60)%60;
hours=(i/3600)%60;
days=i/86400;
}
//ERROR*******found*******
voidClock::print( )
{
cout<<days<<"d:"<<hours<<"h:"
<<minutes<<"m:"<<seconds<<"s"<<endl;
}
void Clock::tick( )
{
//ERROR*******found*******
set(total_sec++);
}
Clock Clock::operator++( )
{
tick( );
//ERROR*******found*******
return this;
}
int main( )
{
Clock ck(59);
tout<<"Initial times are"<<endl;
ck.print( );
++ck;
tout<<"After One second times are"<<endl;
ck.print( );
return0;
}
选项
答案
(1)void Clock::print( )const (2)set(++total_see); (3)return*this;
解析
(1)主要考查考生对成员函数的掌握,由Clock类中对函数print的声明void print( )const;可知,在定义print函数时少了const。
(2)主要考查考生对++操作的掌握,根据函数要求,时间要先前进一秒,再调用函数set,因此total_sec++应改为++total_sec.
(3)主要考查考生对this指针的掌握,函数要求返回值Clock,即返回一个类,而不是指针,因此使用*this。
转载请注明原文地址:https://kaotiyun.com/show/jfAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
设有定义语句:doublex=2.5,y=4.7;inta=7;那么表达式x+a%3*(int)(x+y)%2/4的值为【】。
在进行了任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态,其中只能用于检测刚进行的操作是否失败的函数名是()。
阅读下面程序:#include<iostream.h>voidmain(){inti,j,row=0,column=0,min;staticinta[3][3]={100,28,72,-30,2,-100};
下列选项中不属于结构化程序设计方法的是()。
在程序设计阶段应该采取______和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。
下列关于虚函数的描述中,正确的是()。
以下关于友元函数的叙述不正确的是()。
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原是()。#include<iostream.h>voidmain(){int*p,*q,a,b;p=&a;eout<<"inputa:";
三种基本结构中,能简化大量程序代码行的是()。
结构化程序设计的3种基本结构分别是顺序、选择和______。
随机试题
静言思之,躬自悼矣。躬:悼:
患者男,70岁。以“反复咳嗽、咳痰20年,气短、下肢水肿10年,加重2周,神志不清1天”为主诉入院。每年冬季发作,咳白色黏痰,近2周上述症状加重,咳黄痰,出现明显呼吸困难,不能平卧。1天前因头痛、烦躁、夜间不能睡觉,家属给予地西泮2片,服后即入睡不醒。既往
正常人血浆pH为
5岁男童,母亲领其到医院就医,诉说该患儿食欲差、偏食、不吃肉,体重、身高均未达到同龄儿童的水平,且易感冒。此种表现可能是
据现行增值税规定,外贸企业收购生产企业加工的货物出口的,退税方法是()。
下列句子没有语病的一项是()。
下列各产品中能够适用我国《产品质量法》的是()。
洞庭湖中的君山上有娥皇、女英的墓,称为二妃墓。
J.Martin将建立企业模型的过程分为3个阶段,下述Ⅰ.开发表示企业各职能范围的模型Ⅱ.扩展模型,使它们表示企业各处理过程Ⅲ.定义企业处理过程所需数据类Ⅳ.继续扩展模型,使它能表示企业各处理过程 哪个不属于建立企业模型的3个阶段?
Whatistheman’spurposefortalkingwiththewoman?
最新回复
(
0
)