⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 passenger.h

📁 电梯仿真系统的实现
💻 H
字号:
//## begin module%1.3%.codegen_version preserve=yes
//   Read the documentation to learn more about C++ code generator
//   versioning.
//## end module%1.3%.codegen_version

//## begin module%3C12C5580050.cm preserve=no
//	  %X% %Q% %Z% %W%
//## end module%3C12C5580050.cm

//## begin module%3C12C5580050.cp preserve=no
//## end module%3C12C5580050.cp

//## Module: Passenger%3C12C5580050; Package specification
//## Subsystem: <Top Level>
//## Source file: D:\Program\OOP\Elevators\SourceCode\Passenger.h

#ifndef Passenger_h
#define Passenger_h 1

//## begin module%3C12C5580050.additionalIncludes preserve=no
//## end module%3C12C5580050.additionalIncludes

//## begin module%3C12C5580050.includes preserve=yes
//## end module%3C12C5580050.includes

//## begin module%3C12C5580050.declarations preserve=no
//## end module%3C12C5580050.declarations

//## begin module%3C12C5580050.additionalDeclarations preserve=yes
#include "MsgList.h"	// Added by ClassView
typedef enum{ WAITING=0,
			  INLIFT=1,
			  WORKING=2,
			  NOTSERVED=3,
			  COMPLETED=4,
			  END=5
}  PSTATUS;
//## end module%3C12C5580050.additionalDeclarations


//## begin CPassenger%3C12151703DE.preface preserve=yes
//## end CPassenger%3C12151703DE.preface

//## Class: CPassenger%3C12151703DE
//	乘客类
//## Category: <Top Level>
//## Persistence: Transient
//## Cardinality/Multiplicity: n

class CPassenger 
{
  //## begin CPassenger%3C12151703DE.initialDeclarations preserve=yes
  //## end CPassenger%3C12151703DE.initialDeclarations

  public:
    //## Constructors (generated)
      CPassenger();

      CPassenger(const CPassenger &right);

    //## Destructor (generated)
      ~CPassenger();

    //## Assignment Operation (generated)
      CPassenger & operator=(const CPassenger &right);

    //## Equality Operations (generated)
      int operator==(const CPassenger &right) const;

      int operator!=(const CPassenger &right) const;


    //## Other Operations (specified)
      //## Operation: HasRequest%3C121C960096
      //	测试乘客有没有请求要发?
      //	true : 有
      bool HasRequest ();

    // Additional Public Declarations
      //## begin CPassenger%3C12151703DE.public preserve=yes
	  CPassenger(int ID,int ridetimes);
	  int GetPID();
	  int GetOriFloor();
	  int GetObjFloor();
	  long GetWaitTimer();
	  void FinishOneRide();
	  void SetFloor(int floor);
	  void SetObjFloor(int floor);
	  void SetStatus(PSTATUS);
	  PSTATUS GetStatus();
	  void GenRandDelay();
	  void GenRandFloor();
	  void EndActivity();
	  bool IsEnd();
	  bool IsCompleted();
	  bool IsServed();


      //## end CPassenger%3C12151703DE.public

  protected:
    // Additional Protected Declarations
      //## begin CPassenger%3C12151703DE.protected preserve=yes
      //## end CPassenger%3C12151703DE.protected

  private:
    //## Get and Set Operations for Class Attributes (generated)

      //## Attribute: m_iPID%3C121622014A
      //	乘客的标识
      const int get_m_iPID () const;
      void set_m_iPID (int value);

      //## Attribute: m_iFloor%3C12164D02D0
      //	乘客当前所在的位置: 哪一楼层
      const int get_m_iFloor () const;
      void set_m_iFloor (int value);

      //## Attribute: m_iObjFloor%3C121686029E
      //	乘客的目标楼层:要去的楼层
      const int get_m_iObjFloor () const;
      void set_m_iObjFloor (int value);

      //## Attribute: m_enStatus%3C1216BC030C
      //	enum PSTATUS {WAITING=0,INLIFT=1,WORKING=3};
      //	乘客的状态:
      //	  WAITING 等待状态
      //	  INLIFT 电梯中或乘坐电梯期间
      //	  WORKING 工作中或停留在某楼层10-120秒期间
      const PSTATUS get_m_enStatus () const;
      void set_m_enStatus (PSTATUS value);

      //## Attribute: m_lWaitTimer%3C12189F0014
      //	乘客的等待计时器
      const long get_m_lWaitTimer () const;
      void set_m_lWaitTimer (long value);

      //## Attribute: m_iDelay%3C1219EB00D2
      //	乘客在某一楼层的停留时间,由系统随机的在10-120秒钟生成.
      const int get_m_iDelay () const;
      void set_m_iDelay (int value);

      //## Attribute: m_iRideTimes%3C121B6C01FE
      //	乘客乘坐的次数,由系统在3-10次之间生成
      const int get_m_iRideTimes () const;
      void set_m_iRideTimes (int value);

    // Additional Private Declarations
      //## begin CPassenger%3C12151703DE.private preserve=yes
      //## end CPassenger%3C12151703DE.private

  private: //## implementation
    // Data Members for Class Attributes

      //## begin CPassenger::m_iPID%3C121622014A.attr preserve=no  private: int {U} 
      int m_iPID;
      //## end CPassenger::m_iPID%3C121622014A.attr

      //## begin CPassenger::m_iFloor%3C12164D02D0.attr preserve=no  private: int {U} 1
      int m_iFloor;
      //## end CPassenger::m_iFloor%3C12164D02D0.attr

      //## begin CPassenger::m_iObjFloor%3C121686029E.attr preserve=no  private: int {U} 
      int m_iObjFloor;
      //## end CPassenger::m_iObjFloor%3C121686029E.attr

      //## begin CPassenger::m_enStatus%3C1216BC030C.attr preserve=no  private: PSTATUS {U} WAIT
      PSTATUS m_enStatus;
      //## end CPassenger::m_enStatus%3C1216BC030C.attr

      //## begin CPassenger::m_lWaitTimer%3C12189F0014.attr preserve=no  private: long {U} 0
      long m_lWaitTimer;
      //## end CPassenger::m_lWaitTimer%3C12189F0014.attr

      //## begin CPassenger::m_iDelay%3C1219EB00D2.attr preserve=no  private: int {U} 10
      int m_iDelay;
      //## end CPassenger::m_iDelay%3C1219EB00D2.attr

      //## begin CPassenger::m_iRideTimes%3C121B6C01FE.attr preserve=no  private: int {U} 3
      int m_iRideTimes;
      //## end CPassenger::m_iRideTimes%3C121B6C01FE.attr

    // Additional Implementation Declarations
      //## begin CPassenger%3C12151703DE.implementation preserve=yes
	  int m_lWorkTimer;
      //## end CPassenger%3C12151703DE.implementation

};

//## begin CPassenger%3C12151703DE.postscript preserve=yes
//## end CPassenger%3C12151703DE.postscript

// Class CPassenger 

//## Get and Set Operations for Class Attributes (inline)

inline const int CPassenger::get_m_iPID () const
{
  //## begin CPassenger::get_m_iPID%3C121622014A.get preserve=no
  return m_iPID;
  //## end CPassenger::get_m_iPID%3C121622014A.get
}

inline void CPassenger::set_m_iPID (int value)
{
  //## begin CPassenger::set_m_iPID%3C121622014A.set preserve=no
  m_iPID = value;
  //## end CPassenger::set_m_iPID%3C121622014A.set
}

inline const int CPassenger::get_m_iFloor () const
{
  //## begin CPassenger::get_m_iFloor%3C12164D02D0.get preserve=no
  return m_iFloor;
  //## end CPassenger::get_m_iFloor%3C12164D02D0.get
}

inline void CPassenger::set_m_iFloor (int value)
{
  //## begin CPassenger::set_m_iFloor%3C12164D02D0.set preserve=no
  m_iFloor = value;
  //## end CPassenger::set_m_iFloor%3C12164D02D0.set
}

inline const int CPassenger::get_m_iObjFloor () const
{
  //## begin CPassenger::get_m_iObjFloor%3C121686029E.get preserve=no
  return m_iObjFloor;
  //## end CPassenger::get_m_iObjFloor%3C121686029E.get
}

inline void CPassenger::set_m_iObjFloor (int value)
{
  //## begin CPassenger::set_m_iObjFloor%3C121686029E.set preserve=no
  m_iObjFloor = value;
  //## end CPassenger::set_m_iObjFloor%3C121686029E.set
}

inline const PSTATUS CPassenger::get_m_enStatus () const
{
  //## begin CPassenger::get_m_enStatus%3C1216BC030C.get preserve=no
  return m_enStatus;
  //## end CPassenger::get_m_enStatus%3C1216BC030C.get
}

inline void CPassenger::set_m_enStatus (PSTATUS value)
{
  //## begin CPassenger::set_m_enStatus%3C1216BC030C.set preserve=no
  m_enStatus = value;
  //## end CPassenger::set_m_enStatus%3C1216BC030C.set
}

inline const long CPassenger::get_m_lWaitTimer () const
{
  //## begin CPassenger::get_m_lWaitTimer%3C12189F0014.get preserve=no
  return m_lWaitTimer;
  //## end CPassenger::get_m_lWaitTimer%3C12189F0014.get
}

inline void CPassenger::set_m_lWaitTimer (long value)
{
  //## begin CPassenger::set_m_lWaitTimer%3C12189F0014.set preserve=no
  m_lWaitTimer = value;
  //## end CPassenger::set_m_lWaitTimer%3C12189F0014.set
}

inline const int CPassenger::get_m_iDelay () const
{
  //## begin CPassenger::get_m_iDelay%3C1219EB00D2.get preserve=no
  return m_iDelay;
  //## end CPassenger::get_m_iDelay%3C1219EB00D2.get
}

inline void CPassenger::set_m_iDelay (int value)
{
  //## begin CPassenger::set_m_iDelay%3C1219EB00D2.set preserve=no
  m_iDelay = value;
  //## end CPassenger::set_m_iDelay%3C1219EB00D2.set
}

inline const int CPassenger::get_m_iRideTimes () const
{
  //## begin CPassenger::get_m_iRideTimes%3C121B6C01FE.get preserve=no
  return m_iRideTimes;
  //## end CPassenger::get_m_iRideTimes%3C121B6C01FE.get
}

inline void CPassenger::set_m_iRideTimes (int value)
{
  //## begin CPassenger::set_m_iRideTimes%3C121B6C01FE.set preserve=no
  m_iRideTimes = value;
  //## end CPassenger::set_m_iRideTimes%3C121B6C01FE.set
}

//## begin module%3C12C5580050.epilog preserve=yes
//## end module%3C12C5580050.epilog


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -