这部分为每个状态对象实现了分派方法和构造函数。您可以通过选择平面实现策略(该策略不生成状态类)来更改此实现。
例如:
class_state1::class_state1(class* c, State* p,
State* cmp): LeafState(p, cmp) {
// State constructor
};
int class_state1::takeEvent(short id) {
int res = eventNotConsumed;
switch(id) {
case event1_id: {
res = concept->state1Takeevent1();
// Dispatching the transition method
break;
};
};
};