gpt4 book ai didi

c++ - 从其他类访问枚举值

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:45:38 24 4
gpt4 key购买 nike

在我的项目中,我在一个类中定义了一个枚举,它在整个类中使用。在重构期间,该枚举被移至另一个类。所以我只是简单地在我原来的类中 typedef 编辑它,就像这样:

class A {
public:
enum E {e1, e2};
};
class B {
public:
typedef A::E E;
};

现在变量定义、返回值、函数参数等工作完美。只有当我想访问我的第二个类中的枚举值时,我仍然需要用周围类的名称来限定它们,
例如E e = A::e1;

有没有办法避免这种情况,还是我必须将其复制到每次出现的枚举值中?

最佳答案

您将每个枚举放入一个嵌套类中,您可以在自己的类中使用 typedef:

class A {
public:
struct E { enum EnumType { e1, e2 } };
};
class B {
public:
typedef A::E E;
};

然后它只是 E::EnumType 而不是 E 但你得到完全自动导入。

关于c++ - 从其他类访问枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8342441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com