访问其他类中的类内部枚举值

时间:2019-03-21 14:13:28

标签: class enums namespaces typedef c++98

我有class B_long_named_class(名字很长)和一个内部enum-B_enum,并且想在enum中使用这个class A值。因此,例如,我必须使用B_long_named_class::E1,而我想摆脱B_long_named_class范围限定符。

有没有办法达到我想要的结果?
我只能使用c ++ 98。

class B_long_named_class
{
  public:
    enum B_enum
    {
        E0,
        E1,
        E2
    };
};

class A
{
  public:
    typedef B_long_named_class::B_enum B_enum; // original enum name
    bool testA(B_enum val) { return (val == B_long_named_class::E1); } // I want to just E1
};

int main()
{
    A obj;
    std::cout << "testA " << obj.testA(B_long_named_class::E0) << std::endl;

    return 0;
}

P.S。我已经看过这个问题了:) Accessing enum values from other class

0 个答案:

没有答案