首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Clock(“时钟”)的定义和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Clock(“时钟”)的定义和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果
admin
2020-06-29
59
问题
请打开考生文件夹下的解决方案文件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(mRsigned long i=0);
void set(unsigned long i=0);
void print()const;
void tick(); //时间前进一秒
Clock operator++();
private:
uns igned long total sec,sec
onds,minutes,hours,days;
};
Clock::C1ock(unsigned long i)
:total sec(i),seconds(i% 60),
minutes((i/60)% 60),
hours((i/3600)% 24),
days(i/86400){}
void Clock::set(uns~gned long i)
{
total sec=i;
seconds=i% 60;
minutes=(i/60)%60 ;
hours=(i/3600)%60 ;
days=i/86400;
}
//ERROR *********found*********
void Clock::print()
{
tout <
hours << "h:"
<
seconds<<"s"<
}
void Clock::tick()
{
//ERROR *********found*********
set(total sec++);
}
C1ock C1ock::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/Ea8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在下面横线上填上适当的语句,完成程序。#includeusingnamespacestd;classTestClass{intx;public:TestClass(inti){
以下4个程序中,不能实现两个实参值进行交换的是()。
以下程序的输出结果是______。#include<iostream.h>#include<string.h>voidmain(){char*p1=",hello",*p2="world!",str[
请按下面注释的提示将类B的构造函数定义补充完整。classA{inta;public:A(intaa=0){a=aa;}};classB:publicA{
inc或整型此题考查的是指针的声明语句。在声明语句中,变量前加“”即声明为指针类型变量,题目中变量b定义的只是普通的整型变量,不是指针,所以应填入int或整型。
若变量已正确定义并赋值,以下符合C++语言语法的表达式是
软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的是【 】。
下面关于C++语言的描述错误的是
下列对重载函数的描述中,错误的是( )。
随机试题
鼠疫耶尔森菌在普通培养基上生长_________,在含血液或组织液的培养基上,_________可形成_________菌落,在肉汤培养基上开始混浊,24小时后表现为_________,48小时后形成_________,稍加摇动,呈_________状下沉
对差压变送器进行过范围试验时,要求差压为量程的()。
下列有关DNA变性的叙述哪一项是正确的
在前列腺手术指征中,下列哪种情况不是绝对的手术指征现患者残余尿200ml,以中叶大为主,心肺功能好,最好采用哪种治疗
对由精神紧张、情绪恐惧或肌肉疼痛所致的失眠可选用()。
某公司优先股固定的股息率为8%,最终收益率的上限为10%,则公司的税后净利润率为7%、9%和11%时,股息率为( )。
根据《专利法》的相关规定,外观设计的外国优先权期限为6个月,发明或实用新型的外国优先权期限为12个月。()
内部后勤属于价值链分析中的()。
简述进、销、存决策支持系统的内容
TheplaywrightDavidHenryHwanghasbeeninhighdemandinrecentyears—notforworkslikehisTonyAward-winningM.Butterfly,
最新回复
(
0
)