gpt4 book ai didi

c++ - C++ 中的默认枚举可见性

转载 作者:太空狗 更新时间:2023-10-29 23:31:25 24 4
gpt4 key购买 nike

我有一个看起来像这样的类:

namespace R 
{
class R_Class
{
enum R_Enum
{
R_val1,
R_val2,
R_val3
}
private:
// some private stuff
public:
// some public stuff
}
}

我正在使用自动化测试工具执行单元测试。编译器声称我的测试工具无法访问类型 R::R_Class::R_Enum。

我可以毫不费力地访问这样定义的类似类中的值:

namespace S
{
class S_Class
{
public:
enum S_Enum
{
S_val1,
S_val2,
S_val3
}
}
private:
// some private stuff
public:
// some public stuff
}

C++ 中的枚举是否需要明确的可见性指令?如果没有给出,它们是否默认为私有(private)?保护?

最佳答案

enum 遵循类中的可见性,就像属性、方法、嵌套类或其他任何东西一样。您需要将其设为public 以便外部可见。

这样一来,类就可以拥有自己的私有(private)方法使用的私有(private)枚举,而无需将 enum 值暴露给外界。

关于c++ - C++ 中的默认枚举可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5030785/

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