打開503號門…門是鎖著的,打不開。
打開503號門的鎖…鎖開了。
打開503號門…門打開了。
打開503號門…門是開著的,無須再開門。
鎖上503號門…先關(guān)門...門鎖上了。
注意:只修改每個“//ERROR***********found **********”下的那一行,不要改動程序中的其他內(nèi)容。
#include
using namespace std;
class Door{
int Bum;//門號
bool closed;//true表示門關(guān)著
bool locked://true表示門鎖著
public:
Door(int nHm){
//ERROR***********found***********
nun=this一>ann:
closed=locked=true:
}
bool isClosed()const{rehlrn closed;}
//門關(guān)著時返回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<<<<< p>
//ERROR***********found***********
if(closed)
cout<<”門是開著的,無須再開門。”;
else if(10cked)
cout<<”門是鎖著的,打不開!;
else{
closed=false;
eout<<”門打開了。”;
}
}
void close(){//關(guān)門
cout<<<<< p>
if(closed)
cout<<”門是關(guān)著的,無須再關(guān)門!;
else{
closed=true;
cout<<”門關(guān)上了.";
}
}
//ERROR************found************
void lock()const{//鎖門
cout<<<<< p>
if(locked)
cout<<”門是鎖著的,無須再鎖門!;
else{
if(!closed){
cout<<”先關(guān)門...”;
closed=true;
}
locked=true:
cout<<”門鎖上了!;
}
}
wild unlock(){//開鎖
cout<<<<< p>
if(!locked)
cout<<”門沒有上鎖,無須再開鎖!;
else{
locked=false;
cout<<”鎖開了!;
}
};
int main(){
Door door(503);
door.open();
door.unlock();
door.open();
door.open();
floor.10ck();
return 0;
}
本題共18分,參考答案:(1)this—>num=num;
(2)if(!closed)
(3)void lock()
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |