请问如何将enum中的成员类型保存到string中

wang22cheng22 2010-07-02 03:24:44
其实我用的是QT,不过没有找到满意答案。
问题如下:
比如
enum devices{_TRANSFORMER,_LINE,_BREAKER};

如何将devices的成员,也就是将_TRANSFORMER,_LINE,_BREAKER获得,转换成string类型。(在QT中我需要把它们放到一个QStringList中,然后初始化一个QCombobox)

请问,有什么办法。谢谢。
...全文
154 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
stonewater 2010-07-02
C++也不是很熟,有没有可以直接操作类本身的函数?比如 :
class A{...};

A.xxx();

这种?
除非是static函数,才能直接调用
  • 打赏
  • 举报
回复
zxdlms 2010-07-02
这个没办法,应为enum本质上是一个整数,1楼的办法就是通用的办法了。
  • 打赏
  • 举报
回复
wang22cheng22 2010-07-02
C++也不是很熟,有没有可以直接操作类本身的函数?比如 :
class A{...};

A.xxx();

这种?
  • 打赏
  • 举报
回复
刚刚凉 2010-07-02
没有什么好办法,这样行不, 你定义一个全局string 数组, string str[] ={"_TRANSFORMER","_LINE","_BREAKER"...} 然后在用的时候 比如当是_TRANSFORMER时 你就取str[_TRANSFORMER]
  • 打赏
  • 举报
回复
wang22cheng22 2010-07-02
其实我想问的就是,如何enum的成员数目和名称未知的情况下,如何获得他的成员类型。有没有什么函数可以调用一下,就返回成员类型的?
  • 打赏
  • 举报
回复
wang22cheng22 2010-07-02
还是相当于手动输入。。,我用的是别人的enum,不是我自己定义的,枚举很多,我总不能每个类型都手动变成字符串
  • 打赏
  • 举报
回复
雪影 2010-07-02
以此类推
  • 打赏
  • 举报
回复
雪影 2010-07-02
up
ls的是一种办法
或者声明一个字符串数字也行
enum devices{_TRANSFORMER,_LINE,_BREAKER};
char* sz[] ={_T("_TRANSFORMER"),_T("_LINE,_BREAKER")};
sz[0]指向的是第一个字符串
  • 打赏
  • 举报
回复
wang22cheng22 2010-07-02
不行啊,都相当于手动输入了,我的枚举类型很多,成员类型也很多,不能这样搞阿。
  • 打赏
  • 举报
回复
刚刚凉 2010-07-02
switch()
{
case _TRANSFORMER:
string .... = "_TRANSFORMER";
case _LINE:
....

}
  • 打赏
  • 举报
回复
相关推荐
发帖
VC/MFC

1.6w+

社区成员

VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
帖子事件
创建了帖子
2010-07-02 03:24
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……