首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程projl,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程projl,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改
admin
2016-06-12
24
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程projl,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
打开503号门…门是锁着的,打不开。
打开503号门的锁…锁开了。
打开503号门…门打开了。
打开503号门…门是开着的,无须再开门。
锁上503号门…先关门…门锁上了。
注意:只修改每个“//ERROR*********found*********”下的那一行,不要改动程序中的其他内容。
#include
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{return
closed;}
//门关着时返回true,否则返回false
bool isOpened()const{return!closed;}
//门开着时返回true,否则返回false
bool isLocked()const{returnlocked;}
//门锁着时返回true,否则返回false
bool isUnlocked()const{ returnlocked;)
//门未锁时返回true,否则返回false
void open(){ //开门
cout<
//ERROR*********found**********
if(closed)
cout<<“门是开着的,无须再开门。”;
else if(locked)
cout<<“门是锁着的,打不开。”;
else{
closed=false;
cout<<“门打开了。”;
}
}
void close(){ //关门
cout<
if(closed)
cout<<“门是关着的,无须再关门。”;
else{
closed=true;
cout<<“门关上了。”;
}
}
//ERROR*********found**********
void lock()const{ //锁门
cout<
if(10cked)
cout<<“门是锁着的,无须再锁门。”;
else{
if(!closed){
cout<<“先关门…”;
closed=true;
}
locked=true;
cout<<“门锁上了。”;
}
)
void unlock(){ //开锁
cout<
if(!locked)
cout<<“门没有上锁,无须再开锁。”。
else{
locked=false;
cout<<“门锁开了。”;
}
}
int main(){
Door door(503);
door.open();
door.unlock();
door.open();
door.open();
door.10ck();
return 0,
}
选项
答案
(1)this一>num=hum; (2)if(!closed) (3)void lock(){
解析
本题考查Door类,其中涉及bool型私有成员及成员函数、构造函数和其他成员函数。在构造函数中this指针指向的是当前类,因此当参数名与要赋值的成员名称一样时,使用this指针来区别。
【解题思路】(1)主要考查考生对this指针的掌握,在构造函数中this指针指向的是当前类,因此要给Bum赋值使用语句this一>num:num;完成。
(2)主要考查考生对if语句的掌握,先看类的私有成员中关于closed的定义:bool closed;//true表示门关着。再看下一条语句:cout<<”门是开着的,无须再开门。”;。即满足条件时就会输出:门是开着的,无须再开门。因此if括号内应该是!closed。
(3)主要考查考生对const函数的掌握,lock函数体中存在语句locked=true,即有参数发生改变,因此不能用const。
转载请注明原文地址:https://kaotiyun.com/show/LiNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序#include<iostream.h>voidfun(inta,intb,intc){a=456,b=567,c=678;}voidmain(){
一个C++语言程序的开发步骤通常包括编辑、【】、链接、运行和调试。
关于友元的概念错误的是
与y=(x>0?1:x<0?-1:0);的功能相同的if语句是
下列变量定义中,合法的是()。
若有以下程序:#include<iostream>usingnamespacestd;classBase{private:inta,b;public:Base(intx
若有以下程序:#include<iostream>usingnamespacestd;classBase{intx;protected:inty;public:
以下哪个不是C++语言中的有效标识符()。
c++流中重载了运算符<<,它是一个
随机试题
按照烧伤的严重性分度,属于重度烧伤的是
甲向乙借款,以不转移占有的方式将一辆汽车设定担保。乙对该车享有【】
属于“十九畏”的药物是哪一种
A.鉴别培养基B.厌氧培养基C.基础培养基D.营养培养基E.选择培养基含有细菌所需的基本营养成分,可供大多数细菌生长的培养基是
传染病的基本特征是
谈判成本包括谈判活动全过程各项物质消耗和损失的价值,即()。
下图所示为化粪池构造简图,总容积为V,第1格容积为V1,第2格容积为V2,则图中有()处错误。
与基坑明挖法相比,盖挖法施工最显著的优点是()。
检验车床主轴锥孔轴线径向跳动装置如图10-2所示,检验时将长度为300mm的检验棒相对主轴锥孔每隔90°插入一次进行检验,其结果如下:a处:0°为0.01mm90°为0.005mm180°为0.015mm270°为0.01m
Whenhetriedtomakea______,hefoundthatthehotelwascompletelyfilledbecauseofameeting.
最新回复
(
0
)