题库 题库

【简答题】

请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程projl,该工程中包含程序文件main.epp,其中有类Door(“门”)和主函数main的定义。程序中位于每个“//ERROR****found ****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
打开503号门…门是锁着的,打不开。
打开503号门的锁…锁开了。
打开503号门…门打开了。
打开503号门…门是开着的,无须再开门。
锁上503号门…先关门...门锁上了。
注意:只修改每个“//ERROR***********found **********”下的那一行,不要改动程序中的其他内容。
#include
using namespace std;
class Door{
int Bum;//门号
bool closed;//true表示门关着
bool locked://true表示门锁着
public:
Door(int nHm){
//ERROR***********found***********
nun=this一>ann:
closed=locked=true:
}
bool isClosed()const{rehlrn closed;}
//门关着时返回true,否则返回false
bool isOpened()const{return!closed;}
//门开着时返回true,否则返回false
b001 isLocked()const{retum locked;}
//门锁着时返回true,否则返回false
bool isUnlocked()const{return!locked;}
//门未锁时返回true,否则返回false
void open(){ //开门
cout<<ENDL<<”打开”<<NNM<
//ERROR***********found***********
if(closed)
cout<<”门是开着的,无须再开门。”;
else if(10cked)
cout<<”门是锁着的,打不开。”;
else{
closed=false;
eout<<”门打开了。”;
}
}
void close(){//关门
cout<<ENDL<<”关上”<<NUM<
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<<”门锁上了。”;
}
}
wild unlock(){//开锁
cout<<ENDL<<”开”<<NUM<
if(!locked)
cout<<”门没有上锁,无须再开锁。”;
else{
locked=false;
cout<<”锁开了。”;
}
};
int main(){
Door door(503);
door.open();
door.unlock();
door.open();
door.open();
floor.10ck();
return 0;
}

参考答案

(1)this—>num=num;
(2)iF(!ClosED)
(3)voiD loCk(){

相关试题

单选题 在下列原型所示的C++函数中,按“传值”方式传递参数的是(  )。 查看答案
单选题 下列程序的输出结果为( )。
#include
void main()
{
char*a[]={”hell0”,”the”,”world”};
char** pa = a:
pa++;
cout<<*pa<
}
查看答案
单选题 下列语句中错误的是( )。 查看答案
单选题 数据库应用系统中的核心问题是(  )。 查看答案
单选题 下列关于函数的描述中,错误的是( )。 查看答案
单选题 下面程序的运行结果是(  )。
#include
void fun(int *a,int *B. {
int x=*a:
*a=*b;*b=X;
cout<<*a<<*b<<””:
void main() {
int X=1,Y=2; fun(&x,&y);
cout<<X<<Y<
}
查看答案
单选题 下列关于二叉树的叙述中,正确的是( )。 查看答案
单选题 关于运算符重载,下列表述中正确的是(  )。 查看答案
单选题 有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)( )。
int a[10]={0,1,2,3,4,5,6,7,8,9},*P=a;
查看答案
单选题 一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(  )。 查看答案
单选题 有如下函数模板:
template
T east(U u)i return u;}
其功能是将U类型数据转换为T类型数据。已知i为int型变量,下列对模板函数cast的调用中正确的是(  )。
查看答案
单选题 存在定义int a[10],x,* pa;,若pa=&a[0],下列的( )选项和其他3个选项不是等价的。 查看答案
单选题 假定int类型变量占用两个字节,其有定义int x[10]={0,2,4};,则数组x在内存中所占字节数是( )。 查看答案
单选题 下面关于类和对象的描述中,错误的是( )。 查看答案
单选题 如果在表达式++x/y中,“++”是作为友元函数重载的,…/”是作为成员函数重载的,则该表达式还可为( )。 查看答案
单选题 以下关键字不能用来声明类的访问权限的是(  )。 查看答案
单选题 有三个关系R S和T如下

则由关系R和S得到关系T的操作是( )。
查看答案
单选题 有如下头文件:
int fl();
static int f2();
class MA{
public:
int f3();
static int f4();
};
在所描述的函数中,具有隐含的this指针的是( )。
查看答案
单选题 结构化程序所要求的基本结构不包括( )。 查看答案
单选题 下面是重载为非成员函数的运算符的函数原型,其中错误的是( )。 查看答案