首页 > 解决方案 > 通过枚举成员名称调用 c++ 类

问题描述

在处理需要根据枚举成员名称调用的大量类时,我遇到了问题。

基本上:我有一个接收 udp 数据包的应用程序,其中包含一个对应于枚举成员的 PacketID,比如说 LoginHandler。当我只知道它对应的数字(在我的情况下为 LoginHandler = 2)时,如何很好地调用 LoginHandler 类构造函数和公共 run() 函数。目前我正在使用 switch 语句执行此操作,但感觉事情变得太大了 XD

typedef enum {
    Token = 0,
    LoginHandler = 1, // <- class I want to call e.g.
    DataHandler = 2,
    // etc...
} MsgType;

标签: c++

解决方案


推荐阅读