首页 > 代码库 > 第二周作业

第二周作业

先测试车辆的进入与进出,定义升起和落下的杆,通过杆的状态不同亮的灯也不一样,在判断车辆有无出入。

代码

主函数:

#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();
    }
};  

 

测试结果:

技术分享

 

第二周作业