我在类A中有枚举,类B有类A实例作为成员。如何使用此实例访问Class B中的Class A枚举
Class A{
enum ab{
a 1,
b 2 };
}
在B类中,我需要获得这个枚举
A::ab
只要ab
是公共的。
当然,您需要首先修复枚举的语法。
另请参阅此问题。
像这样:
class A
{
public:
enum ab{
a = 1,
b = 2 };
}
class B
{
A::ab myVariable;
}
您可以通过访问类型
A::ab;
以及通过的值
A::a;
A::b;
当然,这是假设ab是公开的。
#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
)访问它们。