1

这是一个非常简单的问题,但我不知道答案。

   class a
   {
    public:
    enum xxx {one, two}
   }

   class b
   {
    //cant inherit from a
    //what I want to do is:
    xxx object = one;
   }

如何使枚举在 b 类中为人所知?当然,我可以在两个类中声明它,但那是不干净的。正如我所说,我不能继承,因为这两个类做完全不同的事情并且应该是独立的。

4

2 回答 2

4

范围解析运算符:

a::xxx object;
于 2013-01-28T20:04:51.203 回答
2

由于它是公开的,您应该能够通过完全限定名称访问它:

a::xxx object;

值将以相同的方式使用a::onea::two等等。

编辑:有关您是否可以进行内联初始化的其他答案,请参阅评论中的讨论。

于 2013-01-28T20:04:30.707 回答