只是想知道如果它是可以聲明枚舉類型的函數在C++可能聲明枚舉類型的函數嗎?
例如:
class myclass{
//....
enum myenum{ a, b, c, d};
myenum function();
//....
};
myenum function()
{
//....
}
只是想知道如果它是可以聲明枚舉類型的函數在C++可能聲明枚舉類型的函數嗎?
例如:
class myclass{
//....
enum myenum{ a, b, c, d};
myenum function();
//....
};
myenum function()
{
//....
}
是的,這是很常見的,返回一個枚舉類型。
雖然函數想要使用它,但您仍然希望將枚舉放在該類之外。或者將範圍函數的枚舉返回類型與類名稱(枚舉必須在類定義的公共部分中)。
class myclass
{
public:
enum myenum{ a, b, c, d};
//....
myenum function();
//....
};
myClass::myenum function()
{
//....
}
是的,絕對。
只要確保枚舉在類的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;
}
非常感謝。 – trikker 2009-07-18 16:52:13