只是想知道是否可以在C ++中声明枚举类型的函数
例如:
class myclass{
//....
enum myenum{ a, b, c, d};
myenum function();
//....
};
myenum function()
{
//....
}
答案 0 :(得分:6)
是的,返回枚举类型是很常见的。
因为函数想要使用它,你会希望把你的枚举放在类之外。或者使用类名来定义函数的枚举返回类型(枚举必须位于类定义的公共部分中)。
class myclass
{
public:
enum myenum{ a, b, c, d};
//....
myenum function();
//....
};
myClass::myenum function()
{
//....
}
答案 1 :(得分:2)
只需确保枚举位于班级的public
部分:
class myclass
{
public:
enum myenum{POSITIVE, ZERO, NEGATIVE};
myenum function(int n)
{
if (n > 0) return POSITIVE;
else if (n == 0) return ZERO;
else return NEGATIVE;
}
};
bool test(int n)
{
myclass C;
if (C.function(n) == myclass::POSITIVE)
return true;
else
return n == -5;
}
答案 2 :(得分:1)