我在類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)。 –