1

クラスAに列挙があり、クラスBにはクラスAのインスタンスがメンバーとして含まれています。このインスタンスを使用してクラス B のクラス A 列挙にアクセスするにはどうすればよいですか

Class A{
   enum ab{
   a 1,
   b 2 };
}

クラスBで私はこの列挙を取得する必要があります

4

4 に答える 4

3
A::ab

公開されている限りab

もちろん、最初に列挙型の構文を修正する必要があります。

この質問も参照してください。

于 2013-07-25T15:26:36.500 に答える
2

タイプには次の方法でアクセスします

A::ab;

と経由の値

A::a;
A::b;

もちろん、これは ab が public であることを前提としています。

于 2013-07-25T15:27:45.410 に答える
2

このような:

class A
{
public:
   enum ab{
   a = 1,
   b = 2 };
}

class B
{
   A::ab myVariable;
}
于 2013-07-25T15:26:56.157 に答える
1
#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::列挙された名前 a、b はクラス A 名前空間に存在するため、接頭辞 likeを使用してアクセスできますA::a

于 2013-07-25T15:28:26.680 に答える