声明引用另一个枚举类的枚举类

时间:2021-02-14 21:28:10

标签: c++ enums

假设我有一堂课:

Class Core {
    
  public :
        enum class Region { EU, US, JP};
}
      
Class System {

  private :
      
      Core _core;

  public :
  
      void setCoreRegion(Core::Region region) { _core.setRegion(region); }
}

我不希望类 System 的用户必须知道 Core Class 并且必须使用 Core:: XX 来设置区域。我不想将核心类暴露给用户空间。 我不想在类 System 中做另一个等效的枚举类

总而言之,我想向类 System 的用户公开枚举,就像在系统类上一样

system.setRegion(System::Region EU);

有什么提示吗?

1 个答案:

答案 0 :(得分:1)

我想我找到了一个解决方案:

Class System {

    public :
    
        using Region = Core::Region;
   }

当我在用户类时,我可以使用 System::Region。

这似乎是正确的。