【问题标题】:is it possible to nest to class existing enum是否可以嵌套到现有枚举类
【发布时间】:2012-12-13 10:36:14
【问题描述】:

我在一些头文件中有枚举。是否可以嵌套到类现有的枚举中?

解释:

一些头文件.h:

enum someEnum
{
someValue
/*other values*/
};

其他标题:

#include "headerfile.h"
class someClass
{
 public:
  //using enum someEnum; //don't work as I want
 };

我希望 someValue 可以作为

     someClass::someValue 

所以我的问题是可能吗?

【问题讨论】:

    标签: c++ class enums using


    【解决方案1】:

    您可以嵌套 enum 定义:

    class someClass {
    public:
        enum someEnum {
            someValue
        };
    };
    

    然后你可以按照你想要的方式访问这个枚举:

    someClass::someEnum X = someClass::someValue;
    

    但是,如果您想要创建一个类型为 someEnum 的成员变量,您可以通过提供 someEnum 作为类型来实现,或者嵌套枚举并将变量名称放在分号之前。

    【讨论】:

    • 我知道嵌套(我在写这个问题时只是忘记了这个术语),但我不能从他的标题中移动那个枚举,它必须留在那里。问题是是否可以嵌套到现有枚举类中。
    【解决方案2】:

    一种方法是这样做:

    class someClass
    {
     public:
    
    #include "headerfile.h"
    
      //using enum someEnum; //don't work as I want
    
     };
    

    不漂亮但有效。

    【讨论】:

    • 似乎这是唯一的方法.. 谢谢。
    【解决方案3】:

    您可以尝试将库包含在类定义中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-04
      • 2015-05-05
      • 2019-09-12
      • 1970-01-01
      • 2019-01-24
      • 1970-01-01
      相关资源
      最近更新 更多