Доступ к внутренним значениям перечисления класса в другом классе - PullRequest
0 голосов
/ 21 марта 2019

У меня есть 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. Я уже видел этот вопрос :) Доступ к значениям перечисления из другого класса

...