两个例子:
我想要定义时间:
class Time
{
month(){...}
year(){...}
private:
time_t a;
}
struct Time
{int year; int month;}
但是c ++不能允许定义相同的名称。那么如何定义struct
名称?添加前缀或后缀,例如STime
或TimeStruct
同样,我想定义颜色:
class Color
{
int color;
red(){...}
}
enum Color
{
e_red,
e_green
}
也有名称冲突。那么如何定义enum
名称?添加前缀或后缀,例如EColor
或ColorEnum
。
使用union
也存在名称冲突。那么如何避免struct
,enum
和union
名称与类名冲突?添加前缀或后缀?
答案 0 :(得分:4)
您可以使用namespace来限制范围
namespace MyClass
{
class Time { ... };
}
namespace MyStruct
{
struct Time { ... };
}
...
MyClass::Time c;
MyStruct::Time s;
...