是否可以嵌套到类现有的枚举

时间:2012-12-13 10:36:14

标签: c++ class enums using

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

说明:

一些headerfile.h:

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

其他标题:

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

我希望someValue可以作为

访问
     someClass::someValue 

所以我的问题是可能的吗?

3 个答案:

答案 0 :(得分:3)

您可以嵌套enum定义:

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

然后您可以按照您想要的方式访问此枚举:

someClass::someEnum X = someClass::someValue;

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

答案 1 :(得分:2)

一种方法是这样做:

class someClass
{
 public:

#include "headerfile.h"

  //using enum someEnum; //don't work as I want

 };

不漂亮,但有效。

答案 2 :(得分:2)

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