【发布时间】:2011-04-24 22:12:32
【问题描述】:
我有一个包含enum 的课程:
class appearance{
// ... stuff ...
enum color {BLUE, RED, GREEN};
};
我想附加命名空间的一部分(带有using),以便我可以将BLUE 的值简单地称为BLUE,而不是appearance::BLUE。同时,我想将enum 保留在class{} 中,因为我认为这是最自然的。我尝试了namespace 和using 的各种组合,但无济于事。
有什么建议吗???
【问题讨论】:
-
我遇到了类似的问题:将名称缩短为枚举。
long::path::to::enum其中to是包含枚举的类。由于我无法转发到自定义短标签命名空间,我决定从类to子类化:class Mine : public To{ public: using long::path::to; private: Mine() {}; };如您所见,我禁止通过私有构造函数生成此类的实例,因此我现在可以在很多地方使用它更短的方式Mine::enum。无需类型转换等
标签: c++ enums namespaces using-statement