首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
admin
2021-05-06
37
问题
请打开考生文件夹下的解决方案文件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打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*data),此函数的功能是,找出字符串数组中最小的ASCII值,如果有相同变量,则输出最后一个所在的位置;如果字符串为空,则返回-1;或者不存在时也返回-1。
使用VC6打开考生文件夹下的源程序文件modi3.cpp,阅读下列程序说明和代码,功能如下:从屏幕输入数字,然后由大到小插入指定的链中。当输入0时,表示输出的数据已经输入完成,然后把数据打印到屏幕,然后释放内存。其中定义的类并不完整,按
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(intx),该函数功能是判定x的所有的约数,并且在函数中调用写函数WriteFile()将结果输出到modi2.txt文件中。例如:x=10的约数为1,2,5,10。
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:(1)定义纯虚类TestClass0,包含纯虚函数fun(),请在注释//********1********后添
如果表达式a>=b中的“>:”是作为非成员函数重载的运算符,则可以等效地表示为()。
定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为()。
下列有关类成员的叙述中,正确的是()。
下列符号中可以用作C++标识符的是()。
下列for循环的次数为()。for(inti(0),x=0;!x&&i
下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“<<left”,输出效果将发生变化的是()。
随机试题
________以青霉菌及其毒素污染为主。
低渗性脱水患者的表现,以下不正确的是
有一患者平时事业心强,工作起来争分夺秒,有很强竞争意识,最终导致高血压、冠心病,他的性格行为类型属于
A.清热解毒,凉血化瘀B.养阴清热,安冲止血C.活血化瘀,调冲止血D.清营解毒,散瘀泄热E.补脾益气,固冲摄血产后高热,小腹疼痛拒按,恶露量多,色紫黯,气臭秽,烦躁,口渴引饮,尿少色黄,大便燥结;舌红,苔黄而干,脉数有力。治法应是
甲公司2019年发生如下事项:①因违反环保部门相关法规接到罚款通知,要求支付200万元的罚款支出,至年末尚未支付。税法规定,违反国家法律法规发生的相关支出,不得税前扣除。②因与乙公司之间一项未决诉讼,预计很可能将承担违约金支出200万元。税法规定,未决诉讼
一初中生在地理学习中学会画概念地图的方法后,将这种方法运用到生物学习中去,这是一种()。
紧缩性财政政策,是指当总支出过多,价格水平持续上涨时.减少政府支出,增加政府收入,从而抑制总支出。以下不属于紧缩性财政政策的主要手段的是()。
Inanew【C1】________publishedinthejournalHeart,researchersfoundthatSwissadultswhotookoneortwodaytimenapsperwee
WhyAPMattersOnthesurface,FannyFraustolookslikeanyotherteenagerlaughingandjostlinginthecrowdedhallsofone
Astudyofarthistorymightbeagoodwaytolearnmoreaboutaculturethanispossibletolearningeneralhistoryclasses.M
最新回复
(
0
)