首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
admin
2021-05-06
20
问题
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
打开503号门...门是锁着的,打不开。
打开503号门的锁...锁开了。
打开503号门...门打开了。
打开503号门...门是开着的,无须再开门。
锁上503号门...先关门...门锁上了。
注意:只修改每个“//ERROR*********found*********”下的那一行,不要改动程序中的其他内容。
#include
using namespaee std;
class Door{
int num;//门号
bool closed;//true表示门关着
bool locked;//true表示门锁着
public:
Door(int hum){
//ERROR*********found*********
num=this->num:
closed=locked=true;
}
bool isClosed()const{retilrn closed;}
//门关着时返回true,否则返回false
bool isOpened()const{return!closed;}
//门开着时返回true,否则返回false
bool isLocked()const{return locked;}
//门锁着时返回true,否则返回false
bool isUnlocked()const{return!locked;}
//门锁时返回true,否则返回false
void open(){//开门
cout<<endl<<“打开”<<num<<“号门...”;
//ERROR*********found*********
if(closed)
cout<<“门是开着的,无须再开门。”;
else if(locked)
cout<<“门是锁着的,打不开。”;
else{
closed=false;
cout<<“门打开了。”;
}
}
void close(){//关门
cout<<endl<<“关上”<<Hum<<"号门...1";
if(closed)
cout<<“门是关着的,无须再关门。”;
else{
closed=true;
cout<<“门关上了。";
}
}
//ERROR*********found*********
void lock()const{//锁门
cout<<endl<<“锁上”<<num<<"号门...";
if(locked)
cout<<“门是锁着的,无须再锁门。”;
else{
if(!closed)}
cout<<“先关门...”;
closed=true;
}
locked=true;
cout<<“门锁上了。”;
}
}
void unlock(){//开锁
cout<<endl<<“开”<<num<<“号门的锁...”;
if(!locked)
cout<<“门没有上锁,无须再开锁。”;
else{
locked=false:
cout<<“锁开了。”;
}
}
};
int main(){
Door door(503);
door.open();
door.unlock();
door.open();
door.open();
door.lock();
return 0:
}
选项
答案
(1)this->num=num; (2)if(!closed) (3)void lock()
解析
本题考查Door类,其中涉及bool型私有成员及成员函数、构造函数和其他成员函数。在构造函数中this指针指向的是当前类,因此当参数名与要赋值的成员名称一样时,使用this指针来区别。(1)主要考查考生对this指针的掌握,在构造函数中this指针指向的是当前类,因此要给num赋值使用语句this->num=num;完成。(2)主要考查考生对if语句的掌握,先看类的私有成员中关于closed的定义:bool closed;//true表示门关着。再看下一条语句:cout<<“门是开着的,无须再开门。”即满足条件时就会输出:门是开着的,无须再开门。因此if括号内应该是!closed。(3)主要考查考生对const函数的掌握,lock函数体中存在语句locked=true,即有参数发生改变,因此不能用const。
转载请注明原文地址:https://kaotiyun.com/show/CQfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正错误,使得程序正确执行,并且输出以下语句:TestClass1:0TestClass2注意:不要改动main函数,不能增行或删行,也不能更改程序的结
使用VC6打开考生文件夹下的源程序文件modi2.cpp。完成函数fun(inta[],intn),实现递归函数fun(inta[],intn)的返回值是数组a[]的前n个元素之和。注意:不能修改程序的其他部分,只能修改fun()函数。
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。其中:定义了类circle和column,column类由circle类protected派生,但是两个类的定义并不完整,请按
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。(1)在类TestClass中定义name为字符串类型,age为整型,请在注释//********1********之后添加语
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使该程序的输出结果为:100注意:错误的语句在//******error******的下面,修改该语句即可。1#include<io
使用VC6打开考生文件夹下的源程序文件modi.cpp,该程序运行时有错,请改正其中错误,使得程序正常运行,并使程序输出的结果为:CTest注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//**
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:(1)完成CMyClass的构造函数,请改正注释//********1********后的错误。(2)
请打开考生文件夹下的解决方案文件proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStack类。Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack为抽象类,它只定义了栈的用户接口,如下
下列关于输入输出流的叙述中,正确的是()。
对于语句cout<<endl<<x;中的各个组成部分,下列叙述中错误的是()。
随机试题
A公司是一家零售商,正在编制12月份的预算,有关资料如下:(1)11月30日资产负债表如下(单位:万元):129(2)销售收入预计:11月200万元,12月220万元,明年1月230万元。(3)销售收现预计:销售当月收回60%,次月收回40%。(
生物在一定时间内所生产的有机物质积累的速率称为()或()。
A.DT2000~2600cGy,单次剂量150~180cGyB.DT2500~3000cGy,单次剂量150~180cGyC.DTl500~2000cGy,然后缩野至肿瘤区补量DT2000cOy,单次剂量150~200cGyD.DT3000cGy,
双胍类降血糖药物的降糖作用机制是
下列各项中,不属于事业单位净资产项目的是()。
甲公司2×16年3月份A商品有关收、发、存情况如下:(1)3月1日结存300件,单位成本为2万元。(2)3月8日购入200件,单位成本为2.2万元。(3)3月10日发出400件。(4)3月20日购入300件,单位成本
态度的________指伴随态度的认知成分而产生的情绪或情感体验,是态度的核心成分。
用冰取火,是把冰块削成()。
Wehavestudiedfortwohours.Let’sstop______.
中国2010年上海世博会吉祥物的名字叫“海宝(Haibao)”,意即“四海之宝”。(81)“海宝”的名字朗朗上口,与其身体的色彩呼应,符合中国民俗的吉祥称谓原则。世博会和奥运会、世界杯等超大型活动一样,都十分重视吉祥物对于演绎主题、传承文化的重要作用。(8
最新回复
(
0
)