首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程projl,该工程中包含程序文件main.cpp,其中有类Clock(“时钟”)的定义和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加
请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程projl,该工程中包含程序文件main.cpp,其中有类Clock(“时钟”)的定义和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加
admin
2017-07-04
72
问题
请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程projl,该工程中包含程序文件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,
minutes ,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/3600)%60;
days=i/864 00;
}
//ERROR**********found**********
void Clock::print()
{
tout<
”h:”
<
<<”s”<
}
void Clock::tick()
{
//ERROR**********found**********
set(total sec++);
}
Clock Clock::operator++()
{
tick();
//ERROR**********found**********
return th~s;
}
int main()
{
Clock ck(59);
tout << ”Initial timeS aEe” <<
endl;
ck.print();
++ck;
tout << ”After one second times
aEe”<
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://www.kaotiyun.com/show/rLAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有以下宏定义: # define N 2 # define Y(n) ((N+1)*n) 则执行语句z=2*(N+Y(5));后的结果是
下列程序中需要清理动态分配的数组,划线处应有的语句是【 】。#include<iostream,h>classperson{intage,tall;public:person(){age=0;tall=40;co
下面程序段的正确输出是 int w=4,x=3,y=2,z=1; cout<<(w<x? w:z<y? z:x)<<endl;
存取指针所指的值时,采用的运算符是
一个C++程序由函数A(),B(),C()和函数P()构成,在函数A()中分别调用了函数B()和函数C(),在函数B()中调用了函数A(),且在函数P()中也调用了函数A(),则可以说
根据输出结果填空完成下面程序。#include<iostream.h>classTest{private:staticintval;inta;public:
下列程序时类D代码段出现编译错误,原因是【 】。#include<iostream.h>classA{public:A(charc){cout<<"A’sconstructor."<<c<<endl
首先访问该结点,然后访问结点的左子树,最后访问结点的右子树,这种遍历方式称为( )。
执行下列语句后,输出结果为cout. put(’s’);cout<<,’c’<<’a’;
随机试题
中共八大提出,社会主义改造基本完成后,全国人民的主要任务是集中力量发展社会生产力,实现国家工业化,逐步满足人民日益增长的物质和文化需要。()
作为产品的一种外在形式,基础产品通常变现为()
下列中,既可用作血象检验时的血样抗凝,又可作为血液保养液的抗凝剂是()。
老年人呼吸系统的明显生理改变是
本质安全中的()动能是指当设备、设施发生故障或损坏时,仍能暂时维持正常工作或自动转变为安全状态。
对于需要试生产的建设工程项目,建设单位应当在项目投入试生产之日起( )内向环保行政主管部门申请对其项目配套的环保设施进行竣工验收。
现时价值评估和承保风险评估是保险公估人所涉足的重要业务领域,二者( )。
会计师事务所应当根据会计师事务所业务质量控制准则,制定质量控制制度,以合理保证业务质量。质量控制制度的目标有()。
WorkisaveryimportantpartoflifeintheUnitedStates.WhentheearlyProtestant【1】cametothiscountry,theybroughtthe【2
AccordingtoEllen,theincreasingdemandforhiringisdueto
最新回复
(
0
)