使用 set 和 get 的 c++ 中的枚举
Enum in c++ with set and get
我想尝试调用我的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
等。 这反过来意味着当您在类范围之外使用它们时,您需要使用 scope 运算符来访问它们。 因此,就像访问类的任何公共静态成员一样,您可以使用以下命令获取enum
值
class_name::enum_member_name
或在您的情况下
OS::MAC
这意味着您打电话给setOS
OS test;
test.setOS(OS::MAC);
相关文章:
- 不带大括号的枚举形式
- 枚举环境变量的惯用C++14/C++17方法
- 类似枚举的计算常量
- 如何正确实现和访问运算符的各种自定义枚举器
- 错误:从"int"到枚举c++的转换无效
- C++中构造函数中的枚举
- 访问在 C++ 结构中声明的枚举变量
- 枚举类'classname'的多重定义
- 强枚举类型定义:Clang Bug 还是 C++11 标准不确定性?
- typedef 枚举和枚举类有什么区别?
- 为什么我的开关/机箱在使用枚举时默认?
- 标准::可选枚举的比较运算符
- C++两个源文件之间共享的枚举的静态实例
- 打印没有铸件的枚举可以在C++中吗?
- 枚举成员与静态 int 成员?
- C++:枚举:错误:应使用标识符而不是"}"
- 带有 c++ 的枚举(输入检查)
- 在 qml 中使用 Q_ENUM 和 Q_PROPERTY 作为枚举类
- 为什么 int 类型的枚举类值不能用作 int
- 在 C++ 中输出枚举类类型的向量元素