【讨论】有限状态机的代码一般如何设计?
// 维护输入状态和输出状态的类class FSMstate{public: // 构造函数 FSMstate(int iStateID,unsigned usTransitions); ~FSMstate(); // 获取当前状态的ID int GetID() { return m_iStateID; } // 向数组中增加状态转换 void AddTransition(int iInput,int iOutputID); // 从数组中删除一个状态转换 void DeleteTransition(int iOutputID); // 进行状态转换并得到输出状态 int GetOutput(int iInput);private: unsigned m_usNumberOfTransition; // 状态的最大数 int* m_piInputs; // 维护输入状态数组 int* m_piOutputState; // 维护输出状态数组 int m_iStateID; // 当前状态};