首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程projl,该工程中包含程序文件main.cpp,其中有类Clock(“时钟”)的定义和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加
请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程projl,该工程中包含程序文件main.cpp,其中有类Clock(“时钟”)的定义和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加
admin
2017-07-04
48
问题
请使用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://kaotiyun.com/show/rLAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在面向对象方法中,实现信息隐蔽是通过对象的某一特性来实现的,这个特性是
下列程序编译时发现pb->f(10);语句出现错误,其原因是【 】。#include<iostream.h>classBase{public:voidf(intx){cout<<"Base:"<<
含有纯虚函数的类称为【】。
符号常量可以用宏定义define和______来表示。
下列关于线性表叙述中,不正确的是()。
下列程序时类D代码段出现编译错误,原因是【 】。#include<iostream.h>classA{public:A(charc){cout<<"A’sconstructor."<<c<<endl
在MyClass类的定义中,对赋值运算符;进行重载。请将横线处缺失的部分补充完整。______MyClass::operator=(constMyClass&rhs){if(this==&rhs)return*t
下列输出字符,A,的方法中,()是错误的。
执行下列语句后,输出结果为cout. put(’s’);cout<<,’c’<<’a’;
重新定义标识符的作用域规定是外层变量被隐藏,______变量是可见的。
随机试题
易引起听力减退或暂时耳聋的利尿药是
主治风热壅盛,表里俱实证。憎寒壮热无汗,头目昏眩,目赤睛痛,口苦舌干,咽喉不利,涕唾稠黏,大便秘结,小便赤涩,舌苔黄腻,脉数有力。选方
中心静脉压正常值为()。
计算分配应交的所得税,这项经济业务引起的变化是()。
按内在属性分类,主要包括按客户的()进行分类。
某公司从客户名录中随机抽取600名客户进行满意度和忠诚度调查,为了验证客户总体中满意度高的客户更倾向于成为忠诚客户,应采用的统计方法是()。
《义务教育数学课程标准(2011年版)》指出教学活动是师生积极参与、交往互动、共同发展的过程。教学中应该注意的几个关系是什么?
科学家研制出一种清洁的超级跑车,它的动力来源是氢气,它排出的唯一废物是()。
行政执行是政府机关及公务人员实施法律、贯彻落实国家权力机关的决策、执行国家政务和执行行政决策,以达到预期行政目标的过程。行政执行的原则包括()。
“落红不是无情物,化作春泥更护花。”这一诗句反映了()。
最新回复
(
0
)