elevator  0.7
Симулятор пассажирского лифта
Queue.h
См. документацию.
1 // Проект elevator
2 // (c) И.К. Марчевский, 2021-2022
3 
12 #pragma once
13 
14 #include <vector>
15 
16 #include "Passenger.h"
17 
21 class Queue
22 {
23  friend class Control;
24 
25 private:
26  std::vector<Passenger> passengers;
27  std::vector<std::vector<Passenger>> passOnFloor;
28  std::vector<Passenger> finished;
29 
30 public:
34  Queue(size_t numberOfFloors_)
35  : passOnFloor(numberOfFloors_)
36  {};
37 
41  void addPassenger(const PassengerProperties& passProp_)
42  {
43  //Добавлена проверка //29.05.2021
44  if (passProp_.floorDestination != passProp_.floorDeparture)
45  passengers.emplace_back(passengers.size(), passProp_);
46  }
47 };
48 
void addPassenger(const PassengerProperties &passProp_)
Функция добавки пассажира в очередь
Definition: Queue.h:41
size_t floorDestination
Этаж, на который пассажир едет
Definition: Passenger.h:36
Queue(size_t numberOfFloors_)
Инициализирующий конструктор
Definition: Queue.h:34
size_t floorDeparture
Этаж, с которого пассажир отправляется
Definition: Passenger.h:33
Параметры пассажиров
Definition: Passenger.h:27
Основной класс — симулятор пассажирского лифта
Definition: Control.h:25
Класс — очередь пассажиров
Definition: Queue.h:21
Заголовочный файл с описанием класса Passenger и сопутствующих структур