首页 > 代码库 > 第二周作业
第二周作业
先测试车辆的进入与进出,定义升起和落下的杆,通过杆的状态不同亮的灯也不一样,在判断车辆有无出入。
代码
主函数:
#include "./head.h"
#include <iostream>
using namespace std;
int main(){
GurdSystem gs;
cout << "测试车辆进入.." << endl;
gs.carIn();
cout << "测试车辆出去..." << endl;
gs.carOut();
return 0;
}
头文件:
#include <iostream>
using namespace std;
class Lifter{ //起落杆类
private:
bool state;//私有值表示自身状态,0落下 1升起
public:
Lifter(){
state = false;//构造函数,默认起落杆处于降下状态
}
void setstate(bool s){//函数方法该参
state=s;
}
bool getstate(){//获取参数函数
return state;
}
void change(){//主要功能 升降起落杆
if(getstate()==0){
cout << "___________升起起落杆___________" << endl;
setstate(true);
}
else{
cout << "___________降下起落杆___________" << endl;
setstate(false);
}
}
};
class Light{ //灯类
private:
bool state;//私有值表示自身状态,0红灯 :1绿灯
public:
Light(){
state = false;//构造函数,默认false表示红灯状态
}
void setstate(bool s){//函数方法改参
state=s;
}
bool getstate(){//函数方法获取参数
return state;
}
void change(){//主要功能 升降起落杆
if(getstate()==0){
cout << "___________绿灯亮起___________" << endl;
setstate(true);
}
else{
cout << "___________红灯亮起___________" << endl;
setstate(false);
}
}
};
class GurdSystem {
private:
Lifter lifter;
Light light;
bool state;//表示是否有车进入
public:
GurdSystem(){
//初始化杆和灯类
Lifter lifter;
Light light;
state=false;//默认表示无车进入
}
void setState(bool s){//函数方法改参
state=s;
}
void carIn() { // 测试车进入
setState(true);
cout << "___________汽车准备入门___________" << endl;
light.change();//改变灯
lifter.change();//改变起落杆
}
void carOut() { //测试车出去
setState(false);
cout << "___________汽车准备出门___________" << endl;
light.change();
lifter.change();
}
};
测试结果:
第二周作业