如何命名类,结构,枚举和联合

时间:2013-04-15 04:48:04

标签: c++ class struct enums naming

两个例子:

我想要定义时间:

class Time
{
    month(){...} 

    year(){...}

    private:

    time_t a;
}

struct Time    
{int year; int month;}

但是c ++不能允许定义相同的名称。那么如何定义struct名称?添加前缀或后缀,例如STimeTimeStruct

同样,我想定义颜色:

class Color
{
  int color;

  red(){...}
}

enum Color
{
    e_red,

    e_green
}

也有名称冲突。那么如何定义enum名称?添加前缀或后缀,例如EColorColorEnum

使用union也存在名称冲突。那么如何避免structenumunion名称与类名冲突?添加前缀或后缀?

1 个答案:

答案 0 :(得分:4)

您可以使用namespace来限制范围

namespace MyClass
{
   class Time { ... };
}

namespace MyStruct
{
  struct Time { ... };
}

...
MyClass::Time c;
MyStruct::Time s;
...