首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: 打开
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: 打开
admin
2019-06-07
67
问题
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
打开503号门...门是锁着的,打不开。
打开503号门的锁...锁开了。
打开503号门...门打开了。
打开503号门...门是开着的,无须再开门。
锁上503号门...先关门...门锁上了。
注意:只参改每个“//ERROR*******found*******”下的那一行,不要改动程序中的其他内容。
#include<iostream>
using namespace std;
class Door{
int num;//门号
bool closed;//true表示门关着
bool locked;//true表示门锁着
public:
Door(int num){
//ERROR*******found*******
num=this->num;
closed=locked=true;
}
bool isClosed( )const{returnclosed;}
//门关着时返回true,否则返回false
bool isOpened( )const{]Tel2L1rn!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<<"关上"<<num<<"号门...";
if(closed)
tout<<"门是关着的,无须再关门。";
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;
tout<<"锁开了。";
}
}
};
int main( ){
Door door(503);
door.open( );
door.unlock( );
door.open( );
door.open( );
door.lock( );
return0;
}
选项
答案
(1)this->num=num; (2)if(!closed) (3)void lock( ){
解析
(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/Lh8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;voidfunction2(intn);voidfunction1(intn){if(n<=0)retum;fu
在对函数进行原型声明时,下列语法成分中,不需要的是()。A)函数返回类型B)函数参数列表C)函数名D)函数体
下面程序的运行结果是1______和2______。 #include #defineN10 #defines(x)x*x #definef(x)(x*x) voidmain() {inti1,i2; i1
以下程序的输出结果是______。 #include voidmain() {inta=0; a+=(a=8); cout<<a; }
下列函数的功能是判断字符串str是否对称,对称则返回true,否则返回false,则横线处应填上()。Boolfun(char*str){inti=0,j=0:while(str[j])
数据管理技术的发展经历了人工管理、文件系统和数据库系统3个阶段,其中数据独立性最高的是__________。
待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码33被放到第()个位置。
下列关于this指针的叙述中,正确的是()。
下列关于栈的叙述中,正确的选项是()。
数据管理技术发展的三个阶段中,()没有专门的软件对数据进行管理。I.人工管理阶段Ⅱ.文件系统阶段Ⅲ.数据库阶段
随机试题
关于安全生产管理工作,下列说法正确的是()。
在捆绑和吊运时,不可与管子或设备的尖棱、锐角直接接触。
金融期货
预付资本的总周转速度受到生产资本构成的影响,这种影响来自_______。
服用保列治(非那雄胺片)后PSA可下降多少
可由肾小球滤过但不能被肾小管重吸收和分泌的物质可用于测定
《基本农田保护条例》所称的基本农田,是指按照一定时期人口和社会经济发展对农产品的需求,依据( )确定的不得占用的耕地。
根据《电气装置安装工程爆炸和火灾危险环境电气装置施工及验收规范》(GB50257),关于火灾爆炸场所电气设备、电线电缆安装要求的说法,错误的是()。
中共中央于1935年12月17日至25日召开的()是从第五次反“围剿”失败到全民族抗战兴起过程中召开的一次重要会议。它表明党已经克服“左”倾冒险主义和关门主义,不失时机地制定出抗日民族统一战线的新策略。
招标文件要求工程的实施期限不得超过20个月,承建单位在投标书内承诺18个月竣工。施工过程中,监理工程师因变更批准顺延工期1个月;综合布线工程露天场地施工中遇到尚未达到合同约定的不可预见外界条件等级的连续降雨,监理工程师为了保证工程质量,指示该部分的施工停工
最新回复
(
0
)