我想要一个带有返回成员函数指针的成员函数的类。
也就是说,类似:
class Foo {
// typedef ????(Foo::* func)????
public:
Func s1();
Func s2();
Func s3();
}
Func Foo::s1() {
// do stuff
return &Foo::s2;
}
Func Foo::s2() {
// do stuff
return &Foo::s3;
}
Func Foo::s3() {
// do stuff
return 0;
}
基本上,我尝试做的是实现一个状态机,其中每个状态现在都是下一个状态并通过函数指针返回它。
注意:我对实现状态机的其他方式不感兴趣。我真的很想知道它是否可以以类似于上面的方式实现。
背景:我从这个演讲中得到启发:http ://www.youtube.com/watch?v=HxaD_trXwRE并且想知道是否可以在 C++ 中使用类似的模式。