2009-07-18 39 views

回答

6

是的,這是很常見的,返回一個枚舉類型。

雖然函數想要使用它,但您仍然希望將枚舉放在該類之外。或者將範圍函數的枚舉返回類型與類名稱(枚舉必須在類定義的公共部分中)。

class myclass 
{ 
public: 
    enum myenum{ a, b, c, d}; 

    //.... 

    myenum function(); 

    //.... 
}; 

myClass::myenum function() 
{ 
    //.... 
} 
+0

非常感謝。 – trikker 2009-07-18 16:52:13

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; 
}