首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
admin
2021-05-06
81
问题
请打开考生文件夹下的解决方案文件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()函数,其功能是:求出M行N列二维数组每行元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。注意:不能修改程序的其他部分,只能修改fun()函数。1#incl
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正错误,使得程序正常运行。并使程序输出结果为:ABCDEFABCDEFABCDEF注意:不要改动main函数,不能增行或删行,也不能更
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正错误,使得程序通过运行。程序输出:5a1注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//
使用VC6打开源程序文件modi3.cpp。此程序的功能是将out1.txt文件中的内容输出到屏幕与文件中。输出如下:李一1.78m21王一1.65m23out2.txt文件的内容如下:李一
对于循环队列,下列叙述中正确的是()。
下列关于this指针的叙述中,正确的是()。
若有函数模板mySwap和一些变量定义如下:temp1ate<c1assT>voidmySwap(Tx,Ty);doubledl,d2;intil,i2;下列对mySwap的调用中,错误的是()。
下列选项中,不是C++关键字的是
在E一R图中,用来表示实体联系的图形是()。
随机试题
下列关于非法集资类犯罪说法正确的是()。
【】是一种可编程机械手,用来通过一系列动作,搬运物料、零件、工具,或者其他装置,以实现给定的任务。
下列关于幼儿急疹的临床特征,说法错误的是
患者,男,14岁。寒战、高热3天,伴鼻出血和口腔溃疡,体格检查:全身可见散在出血点,浅表淋巴结不肿大,胸骨无压痛,肝、脾未触及;血红蛋白浓度100g/L,白细胞1.0×109/L,中性粒细胞0.16,淋巴细胞0.84,血小板12×109/L,网织红细胞0.
环境影响评价工程师违反《环境影响评价工程师职业资格登记管理暂行办法》的有关规定,应当被通报批评的情形有()。
假设随机变量x服从二项分布B(10,0.1),则随机变量x的均值为(),方差为()。
下列建设用地使用权交易方式中,建设用地使用权人不改变的是()。
倡导“需求拉上说”通货膨胀的是( )。
IfyouentertheACBC,howwouldyouperformyourwork?
下列管理措施中,()更可能出现在采取廉价竞争策略的企业。
最新回复
(
0
)