-1

两个例子:

我想定义时间:

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名称呢?添加前缀或后缀,例如EColoror ColorEnum

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

4

1 回答 1

4

您可以使用命名空间来限制范围

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

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

...
MyClass::Time c;
MyStruct::Time s;
...
于 2013-04-15T04:52:21.787 回答