C ++初学者问题!
如果单例类的公共部分中有枚举,那么从单例类外部使用枚举值的正确方法是什么。
class MySingletonClass
{
public:
static MySingletonClass & Singleton();
enum
{
eCodeZero = 0,
eCodeOne = 1
}MsgQueueCodes;
protected:
MySingletonClass ();
~MySingletonClass ();
};
我可以从此类外部访问此类枚举值。
MySingletonClass::Singleton().eCodeZero
MySingletonClass::Singleton().eCodeOne
我的问题是
这是执行此操作的正确方法吗?
是否有其他替代方法?
在另一个类中声明枚举变量的语法是什么? [需要执行类似
MySingletonClass::MsgQueueCodes myMsgQCode;
//不正确的语法的操作]感谢您的时间。
最佳答案
如果您的enum
仅与MySingletonClass
有关,那么最好在类中声明它。那么您必须在类定义之外定义的函数中使用MySingletonClass::eCodeZero
。
如果在其他某些类中使用相同的enum
,则最好的方法是在类外部但使用命名空间声明它。