首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
admin
2021-05-06
55
问题
请打开考生文件夹下的解决方案文件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()函数,其功能是:将两个从小到大有序数组a和b,复制合并出一个有序整数序列c,其中形参n和m分别是数组a和b的元素个数。注意:不能修改程序的其他部分,只能修改fun()函数。
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:(1)声明类objA1,请在注释//********1********后添加适当的语句。(2)为类ob
请打开考生文件夹下的解决方案文件proj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有XArray类的定义和main主函数的定义。请把主程序文件中的XArray类的成员函数sum()的定义补充完整,补充的内容填写在
定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为()。
下列关于运算符重载的叙述中,正确的是()。
以下关键字不能用来声明类的访问权限的是()。
打开文件时可单独或组合使用下列文件打开模式()。①ios_base::app②ios_base::binary③iosbase::in④iosbase::out若要以二迸制读方式打开一个文件,需使用的文件打开模式为
下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。
公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是
下列运算符中,在C++语言中不能重载的是()。
随机试题
压力容器所用材料的含碳量ω(C)()。
在国际上,涉及国家财产所有权的问题,主张适用()
A.皮质醇B.皮质酮C.醛固酮D.脱氢表雄酮肾上腺皮质球状带细胞分泌
患者,男,78岁。因车祸致右股骨转子间骨折及多发性肋骨骨折,入院后仅给予胸带固定及右下肢皮肤牵引处理。对此患者最应警惕和设法防止的并发症是
某居住小区设置集中热水供应系统,该小区各类建筑生活用水最大时用水量及最大用水时段(时段指一天中0时~24时)、最大小时和平均小时耗热量见表3-15。则该小区设计小时耗热量应为()。
企业应当以实际发生的交易或者事项为依据进行会计确认、计量和报告,如实反映符合确认和计量要求的各项会计要素及其他相关信息,属于会计信息质量要求的()。
企业所采用的财务管理策略在不同的经济周期中各有不同。在经济繁荣期,不应选择的财务管理策略是()。
甲公司采用风险调整法估计债务资本成本,在选择若干已上市公司债券以确定本公司的信用风险补偿率时,应当选择()。
物业信息和信息流的特点有()。
现实中。除了对外承包,医院科室被内部人“承包”同样相当普遍,甚至成为一种潜规则。例如,医院为每个科室分配工作量和营业额,其实就是一种变相“科室承包”。可见,医院对于承包科室监管的失职,同样亟待_______。至于各种或明或暗的科室“承包”,则更需_____
最新回复
(
0
)