首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,该工程中包含程序文件main.cpp,其中有类Clock(“时钟”)的定义和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,该工程中包含程序文件main.cpp,其中有类Clock(“时钟”)的定义和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加
admin
2018-03-13
17
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,该工程中包含程序文件main.cpp,其中有类Clock(“时钟”)的定义和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
Initial times are
0 d:0 h:0 m:59 s
After one second times are
0 d:0 h:1 m:0 s
注意:只修改每个“//ERROR****found****”下的那一行,不要改动程序中的其他内容。
#include
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:
unsigned long total_sec,seconds fminutes,hours,days;
};
Clock::Clock(unsigned long i)
:total sec(i),seconds(i%60),
minutes((i/60)%60),
hours((i/3 600)%24),
days(i/8 64 00){}
void Clock::set(unsigned long i)
{
total sec=i;
seconds=i%60;
minutes=(i/60)%60;
hours=(i/3 600)%60 ;
days=i/86400;
}
//ERROR **********found**********
void Clock::print()
{
cout <
<
}
void Clock::tick()
{
//ERROR**********found**********
set(total_sec++);
}
Clock Clock::operator++()
{
tick();
//ERROR **********found**********
return this;
}
int main()
{
Clock ck(59);
cout<<"Initial times are"<
ck.print();
++ck;
cout<<"After one second times are"<
ck.print();
return 0;
}
选项
答案
(1)void Clock::print()const (2)set(++total_sec); (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/jVAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include"iostream.h"voidmain(){inti=1,j=1,k=2;if((j++||k++)&&i++)cout<<i<<","<<j<<","<<k;
数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是()。
下面程序的输出是:***********5.235.23***********请将下划线上遗漏的部分补充完整。#include<iostream>#include<iom
下列程序的输出结果是______。#include<iostream>usingnamespacestd;classTest{public:Test(){cnt++;}~Test
下列程序的输出结果是______。#include<iostream>usingnamespacestd;intmain(){intdata=l;int&r=data;
将一个函数声明为一个类的友元函数必须使用关键字______。
已知类Myst有一个只需要一个double型参数的构造函数,且将运算符“-”重载为友元函数。要使语句序列Mystx{3.2),y(5.5),z(0.0);z=8.9-y;y=x-6.3;能够正常运行,运算符函数ope
有如下程序:#include<iostream.h>usingnamespacestd;classBase{protected:inti:public:intj;
若执行语句:cout<<setfill(’*’)<<setw(10)<<123<<"OK"<<end1后将输出
下列程序的输出结果为2,请将程序补充完整。#include<iostream>usingnamespacestd;classBase{public:______voidfun(){cout<<1;}
随机试题
甲纠集十余人对乙进行报复,其通过手机微信的群聊功能指令所有参与者“和对方打斗时,下手重一点”。在打架的过程中,现场一片混乱,乙不知道被何人拿刀捅死,现已无明确证据查清这一事实。关于本案的分析,下列哪些选项是错误的?()
患者,男,60岁。乙肝肝硬化10年,曾间断黑便,近来出现轻度黄疸和少量腹水,2天前大量呕血。经用止血药和生长抑素及三腔管压迫,血压稳定,脉率90次/分,Hb80g/L。在24小时及48小时2次放松三腔管牵引仍有出血。(2009年)此时应考虑患者是
A.溶酶体B.内质网C.线粒体D.细胞液(2007年)糖异生和三羧酸循环共内的代谢场所是
先天性胆总管囊肿临床表现的三联征是指哪三项
利用振动测量及其对测量结果的分析来识别设备故障是一种常用的有效的故障诊断方法。[问题]振动的运动规律有哪几种描述形式?
简述品德形成的一般过程。
生产力反映的是个人和社会的关系。()
12345市民服务热线是北京市政府设立的非紧急救助服务,前身是1987年设立的“市长电话”。通过接听市民来电,解答公众咨询,收集整理社情民意,受理市民提出的诉求、问题、建议等,通过交办妥善解决市民遇到的非紧急类问题。北京市提出“接诉即办”,
氨基酸与糖加热发生美拉德反应,是各种肉类香气的来源。除了烧烤和油炸,红烧大概是最能让美拉德反应发生的“低温烹饪”了。之所以红烧里脊不正宗、一定要红烧肥肉或者五花肉,是因为脂肪在美拉德反应中并非只是打酱油,而是重要参与者。分子美食学创始人蒂斯经过探讨,发现主
下列描述正确的是( )。
最新回复
(
0
)