调用c++中另一个类中的枚举
本文关键字:枚举 另一个 c++ 调用 | 更新日期: 2023-09-27 18:17:03
如果定义两个c++类。一个是:
abstract class A {
public:
enum E {F, G, H;}
};
另一个是类B,那么如何在类A中使用枚举E呢?假设B和A在同一个名称空间中。我知道在c#中我们可以使用:
A.E
在c++中,.
和->
用于访问A
对象的特定实例的成员。::
用于访问A
类范围内的东西。这包括静态、枚举和函数指针。
在c++中,如果你想要枚举值,你需要A::F
或A::G
。
对于枚举类型执行A::E
class A
{
public:
enum E { F , G , H};
virtual ~A() = 0; //a pure virtual function to make the class abstract
};
int main()
{
A::E x; // x is declared as the enum
x = A::F; // x is assigned a particular enum value
return 0;
}
为了使类抽象,还提供了一个纯虚函数c#只有一个.
操作符。c++有多个:.
, ->
和::
。对于类,使用最后一个。
因此,它将是A::E
。
还请记住,在c++中,枚举的常量指向父命名空间,而不是像c#中那样指向enum的一个。因此,在c#中,你会有A.E.F
,但在c++中,你有A::F
。