首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Clock(“时钟”)的定义和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Clock(“时钟”)的定义和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应
admin
2018-09-22
25
问题
请打开考生文件夹下的解决方案文件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://jikaoti.com/ti/Wht0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在下面横线上填上适当的语句,完成程序。#include<iostream>usingnamespacestd;classBase{intx;public:Base(inti
源程序文档化要求程序应加注释。注释一般分为序言性注释和【】。
在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求称为【】。
有如下程序:#include<iostream.h>usingnamespacestd;classBase{public:Base(){cout<<"BB";f();voidf(
下列选项中不属于结构化程序设计方法的是()。
下列关于虚函数的描述中,正确的是()。
假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员数的声明语句为()。
下列程序中的重载函数disp()发生错误,错误原因是______。#include<iostream.h>classSample{private:intm;staticintst;
随机试题
下列给定程序中,函数fun的功能是进行数字字符转换。若形参ch中是数字字符‘0’一‘9’,则将‘0’转换成‘9’,‘1’转换成‘8’,‘2’转换成‘7’,…,‘9’转换成‘0’;若足其他宁符则保持不变;并将转换后的结果作为函数值返回。请在程序的下
根据以下案情,回答下列问题。甲加盖违章建筑,并串通负责房屋征收的国家机关工作人员乙。乙利用职务上的便利帮甲违法多得了200万元征收补偿款,事后,甲将其中的5万元送给乙。甲的行为应认定为
油井水泥的抗折强度是指按水泥质量加水()成型后养护48h的抗折强度。
癌症患者申办“麻醉药品专用卡”应提供
在砌体上安装门窗严禁用()固定。
银行存款日记账余额与银行对账单余额不一致,原因可能有()。
请阅读下面录像题的情景叙述,找出情景叙述中秘书行为及工作环境中正确或错误的地方(应至少找出10处正误点)。人物:行政秘书钟苗、总经理(声音)物品:投影仪、笔记本电脑、会议桌椅、会议记录本场景:办公室、会议室情景一秘书钟苗身着职业装坐在办公桌前,正
据报道,美国研究人员研发的名为“雷米”的清醒梦眼罩,可使使用者控制自己的梦境,甚至随心所欲地做梦。这种眼罩看上去和普通的睡眠眼罩没有太大区别,不过其内部装有6个红色LED灯,在使用过程中,LED灯先是静候4到5小时,待使用者入睡一段时间、进入快速眼动期这个
下列程序执行后的输出结果是 void funcl(int i); void func2(int i); char st[]="hello,frlend!"; void funcl(int i) { cout<<st[i];
【S1】【S3】
最新回复
(
0
)