I’m new to C++.
How can I implement a State Machine in C++?
I’m getting only the messages and should know the next state.
What is the proper structure I need to use?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
EDIT:
Building up the state diagram is done like this (example is for a cola-vending machine):
Default actions can be implemented using a second map, where the key is only the State, like this:
Instead of printing “incorrect message”, the logic can perform a lookup in the StateDiagramForDefaults.
If actions needs to be added to the state diagram, the value of the map should be a pair consisting of an action, and a new state, like this:
The logic that builds up the diagram should then “new” an instance of a class that implements IAction, and put that in the StateDiagram.
The executing logic then just executes the IAction implementation via a virtual method (e.g. execute() or the ()-operator).