Accessing to enum values by '::' in C++

后端 未结 3 1056
逝去的感伤
逝去的感伤 2021-02-13 09:37

I have class like following:

class Car  
{  
public:  
    Car();  
    // Some functions and members and enums  
    enum Color
    {
              


        
3条回答
  •  不知归路
    2021-02-13 10:18

    When I want to do something like this I tend to use a namespace and a typedef outside of th namespace (though usually I'm doing this globally rather than inside a class). Something like this:

    namespace colors 
    {
        enum Color 
        {
            Red,
            Blue
            ...
        }
    }
    typedef colors::Color Color;
    

    This way you use the namespace to get at the actual colors, but the Color type itself is still globally accessible:

    Color myFav = colors::Red;
    

提交回复
热议问题