我只是在玩弄「狀態設計模式」,並且對狀態機中的錯誤處理方式有幾個問題。下面就讓我們狀態設計模式:錯誤處理
class state_machine
{
private:
state state1;
state state2;
public:
}
class state
{
private:
state_machine* m_state_machine; /** Will pass the pointer to states **/
public:
void perform_state1_action();
void perform_state2_action();
}
class state1: public state
{
public:
void perform_state1_action()
{
/**
Functionality
**/
}
void perform_state2_action(); // Have nothing to do for this function
}
class state2: public state
{
public:
void perform_state2_action()
{
/**
Functionality
**/
}
void perform_state1_action(); // Have nothing to do for this function
}
的情況下我的問題是我怎麼妥善處理的情況下,我們稱之爲perform_state2_action當其在狀態1。我是否寫了一個沒有任何功能或可能有錯誤記錄功能的基本函數實現?
爲什麼state_machine有兩個狀態成員時,都出現能夠執行這兩個州。 – 2014-11-20 22:35:18