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