假设我有以下课程......
class foo
{
private:
void bar(int, int);
void bar2(int, float);
void bar3();
void callOne(int message);
};
假设我想callOne()
根据message
参数的值调用其中一个函数。说0个电话bar()
,1个电话bar1()
和2个电话bar2()
。我知道这里最简单的方法是使用 a switch
,但在实际实现中我觉得这可能会变得混乱,因为我会有更多的功能。这基本上是我的后备实现。
有没有一种方法可以使用函数指针、lamdbas 等可以说:“嘿,我给你这个消息。根据那个消息调用一个特定的函数。”?我基本上是在寻找一种基于消息查找函数(可能在字典中)并调用它的方法。