C++ c++;函数返回枚举?
所以我有一个名为pailens的名称空间,用于名为pailer的类,在pailens中我有一个名为color的枚举C++ c++;函数返回枚举?,c++,function,enums,C++,Function,Enums,所以我有一个名为pailens的名称空间,用于名为pailer的类,在pailens中我有一个名为color的枚举 namespace paddleNS { enum COLOUR {WHITE = 0, RED = 1, PURPLE = 2, BLUE = 3, GREEN = 4, YELLOW = 5, ORANGE = 6}; } class Paddle : public Entity { private: paddleNS::COLOUR colour; publi
namespace paddleNS
{
enum COLOUR {WHITE = 0, RED = 1, PURPLE = 2, BLUE = 3, GREEN = 4, YELLOW = 5, ORANGE = 6};
}
class Paddle : public Entity
{
private:
paddleNS::COLOUR colour;
public:
void NextColour();
void PreviousColour();
void PaddleColour(paddleNS::COLOUR col) { colour = col; }
};
现在,我想知道的是,我该如何创建一个函数来返回当前的颜色?是否有一种更简单的方法以文本形式而不是值形式返回它,或者我是否比使用开关来确定颜色更好?只需按值返回枚举:
class Paddle : public Entity
{
// as before...
paddleNS::COLOUR currentColour() const { return colour; }
};
保留一个字符串数组,其中该字符串数组中的indix与您正在使用的枚举值匹配 因此,如果你有:
enum COLOUR {WHITE = 0, RED = 1, PURPLE = 2, BLUE = 3, GREEN = 4, YELLOW = 5, ORANGE = 6};
然后我将定义一个数组:
String colors[] = {white, red, purple, blue, green, yellow, orange}
然后,当您有一个函数返回这种类型的枚举时,您可以将它放入数组中,并以字符串格式获得正确的颜色 嘿,您可以在标题中设置如下所示的函数:
enum COLOUR function();
定义函数时:
enum Paddle::COLOUR Paddle::function(){
// return some variable that hold enum of COLOUR
}
在main.cpp中,我
在此处输入代码
您是否可以管理它是否有更简单的方法以文本形式返回它,或者我是否可以使用开关来确定颜色这是我遗漏的一点,这是我的错。@Andy你想要枚举的字符串表示吗?@Andy我想这可能是问题所在。开关,或std::map
。试着更准确地提问。juanchopanza回答了您实际提出的问题。@Andy您想要字符串形式的事实应该是您问题中最突出的部分@安迪:没有简单的方法,切换/映射是最简单的。或者离开枚举并创建/重用一些模板枚举
类,该类具有to_string()
方法
enum Paddle::COLOUR Paddle::function(){
// return some variable that hold enum of COLOUR
}