1. 程式人生 > >第五個神奇的電梯(代碼搶先看<1>)

第五個神奇的電梯(代碼搶先看<1>)

電梯 一個 time() i++ set define post 設計思路 pub

關於一些自認為比較獨特的設計思路,也不知道是好還是壞,放在這裏讓大家一起看一下。

  • 關於mian函數:因為采用了註冊機制所以主函數比較簡單。
#include "stdafx.h" //VS必須要加的頭文件
#include "elevator.h" //電梯的註冊類

int main()
{ 
  elevator* _ele = new elevator; //新建一個電梯
  _ele->beforerun(); //處理電梯處理前指令
  while (_ele->inrun); //處理電梯運行指令
  _ele->afterrun(); //處理電梯運行後指令
  return 0;
}
  • 關於elevator(電梯註冊)類:
#pragma once
#include "lift.h"
#include "passager.h"
#include "centre.h"
#include "suntime.h"

#define N 5

class elevator{
public:
  passager * _pas;//創建乘客指針
  lift* _lif;//創建電梯指針
  void beforerun() {
    _pas = new passager[N];//新建乘客
    _lif = new lift;//新建電梯
    centre().setlift(_lif);//給電梯中心分配電梯
    ///////////////////////缺少一組輸入
  }
  
  bool inrun() {
    for (int i = 0; i < N; i++) {
      _pas[i].waitcheck();//乘客自檢是否開始等待
      _pas[i].incheck();//乘客自檢是否進入電梯
      _pas[i].outcheck;//乘客自檢是否出電梯
    }
    centre().sort();//請求排序
    centre().setgoal;//設置電梯目標
    _lif->run();//電梯運行
    sumtime().addnow();//時間增加
  }

  void afterrun() {
    ///////////////////缺少一個輸出
  }
};

第五個神奇的電梯(代碼搶先看<1>)