首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改
admin
2017-02-18
74
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,该工程中包含程序文件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{return locked;}
//门锁着时返回true,否则返回false
bool isUnlocked()const{return!locked;}
//门未锁时返回true,否则返回false
void open(){ //开门
cout<
//ERROR**********found**********
if(closed)
cout<<"门是开着的,无须再开门。";
else if(locked)
cout<<"门是锁着的,打不开。";
elset
closed=false;
cout<<"门打开了。";
}
}
void close(){//关门
cout<
if(closed)
cout<<"门是关着的,无须再关门。";
else{
closed=true;
cout<<"门关上了。";
}
}
//ERROR**********found**********
void lock()const{//锁门
cout<
if(locked)
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.lock();
return 0;
}
选项
答案
(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/8IAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
C++语言中的友元函数为在类外访问类中的私有成员和保护成员提供了方便,但破坏了类的______和______。
一个()允许用户为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数和返回值能取任意数据类型。
下列函数的运行结果是#include<iostream.h>intf(inta,intB){intc;if(a>b)c=1elseif(a=b)c=0;
在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有
当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为【】。
关于二义性的描述错误的是
下面是关于派生类声明的开始部分,其中正确的是
有如下函数模板声明: template<typename T> TMax(T a,T b){return(a>=b)?a:b;} 下列对函数模板Max()的调用中错误的是( )。
作为成员函数重载的运算符,第一操作数就是参数表中隐含的________所指向的对象,因此并不显示地出现在参数表中。
对于某个函数调用,不给出初调用函数的声明的情况是()。
随机试题
甲股份有限公司委托乙证券公司发行普通股,股票面值总额20000万元,发行总额80000万元,发行费按发行总额的2%计算(不考虑其他因素)。股票发行净收入全部收到。甲股份有限公司因该笔业务记入“资本公积”科目的金额为()万元。
股骨颈骨折的典型表现是
急性牙髓炎的疼痛性质中,最具诊断特点的是
患者,男,62岁。咳嗽30年,近日咳大量脓痰,气憋,下肢水肿本病最主要的治疗原则是
根据《中华人民共和国大气污染防治法》饮用水水源保护的有关规定,饮用水水源二级保护区禁止建设的项目有()。
发现直接危及人身安全的紧急情况时,从业人员停止作业或者在采取可能的应急措施后处理作业场所的权利是()。
会计职业道德教育的途径有()。
教学过程的基本要素为______、______和______。
52220
IwenttoaCatholicboysschoolinBlackpoolintheNorthofEngland.InmyfirstyearintheseniorschoolIwasanerdykid,
最新回复
(
0
)