不同类中的枚举访问

  • 本文关键字:枚举 访问 同类 c++
  • 更新时间 :
  • 英文 :


我在类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)访问它们。

最新更新