I have enumeraion in Class A and class B have class A instance as member. How can I access Class A enumeraion in Class B using this instance
Class A{
enum ab{
a 1,
b 2 };
}
IN class B i need to get this enumeraion
I have enumeraion in Class A and class B have class A instance as member. How can I access Class A enumeraion in Class B using this instance
Class A{
enum ab{
a 1,
b 2 };
}
IN class B i need to get this enumeraion
A::ab
As long as ab
is public.
Of course you need to fix the syntax of your enum first.
See also this question.
Like this:
class A
{
public:
enum ab{
a = 1,
b = 2 };
}
class B
{
A::ab myVariable;
}
You access the type via
A::ab;
and the values via
A::a;
A::b;
Of course, this assumes ab is public.
#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();
}
The enumerated names a,b do reside in class A namespace so, you can access them using A::
prefix like A::a
.