作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想尝试调用我的 set 方法来获取枚举中的值这是我的代码:
枚举.h
class OS
{
public:
enum OSType{WIN,MAC,UNIX,LINUX};
OStype getOS() const;
private:
OSType type;
};
枚举.cpp
auto OS::getOS() const ->OSType
{ return type;
}
void OS::setOS(OS::OStype t)
{
type = t;
}
现在我想调用main中的方法
OS test;
test.setOS(); //what should i write inside this () ?
test.getOS(); //return the value which was set;
我知道在枚举中以 WIN =0、MAC = 1 开始...但我不能只在里面写一个数字吗?我如何给出测试中的枚举值?
cout<<test<<endl
这行得通吗?
最佳答案
enum
将其成员的名称引入封闭范围。这意味着在 OS
中,您只需在需要时使用 WIN
、MAC
等。这反过来意味着当您在类范围之外使用它们时,您需要使用范围运算符来访问它们。因此,就像访问类的任何公共(public)静态成员一样,您可以使用 enum
值
class_name::enum_member_name
或者在你的情况下
OS::MAC
这意味着你调用 setOS
看起来像
OS test;
test.setOS(OS::MAC);
关于c++ - 在 C++ 中使用 set 和 get 枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43874892/
我是一名优秀的程序员,十分优秀!