我在类A中有枚举,而类B中有类A实例作为成员。 如何使用这个例子不同类中的枚举访问
Class A{
enum ab{
a 1,
b 2 };
}
在B类我访问类enumeraion B类我需要得到这个enumeraion
我在类A中有枚举,而类B中有类A实例作为成员。 如何使用这个例子不同类中的枚举访问
Class A{
enum ab{
a 1,
b 2 };
}
在B类我访问类enumeraion B类我需要得到这个enumeraion
#include <iostream>
using namespace std;
class A{
public:
enum ab{
a= 1,
b= 2 };
};
class B{
public:
void test()
{
enum A::ab x=A::a;
cout << "test A::a = " << x << endl;
x=A::b;
cout << "test A::b = " << x << endl;
}
};
int main()
{
cout << "A::a = " << A::a << endl;
cout << "A::b = " << A::b << endl;
class B b;
b.test();
}
列举的名字A,B都驻留在A级空间中,因此,您可以使用A::
前缀像A::a
访问它们。
像这样:
class A
{
public:
enum ab{
a = 1,
b = 2 };
}
class B
{
A::ab myVariable;
}
您通过
A::ab;
和价值观通过
A::a;
A::b;
当然访问类型,这个假设AB是公开的。
你的代码根本不编译,类应该是class,名称和值之间应该有'='。 – nio
另请参见[在类中声明枚举](http://stackoverflow.com/q/2503807/96780)。 –