2013-04-20 8 views
7

だから私はこの名前空間と呼ばれているpaddleNS私は色として知られている列挙型を持っている、内部paddleNSC++列挙型を返す関数?クラスと呼ばれるパドル用

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

さて、私が思っていたことは、私が返す関数を作成するに取り掛かるだろうかです現在の色は、値の代わりにテキスト形式で返す簡単な方法ですか、色が何であるか把握するためにスイッチを使用するほうがいいですか?

答えて

13

だけの値で列挙型を返します。文字列のこの配列にでindixは、使用している列挙型の値と一致する文字列の配列をキープ

class Paddle : public Entity 
{ 
    // as before... 

    paddleNS::COLOUR currentColour() const { return colour; } 
}; 
+0

テキスト形式で返す簡単な方法はありますか?それとも、色が何であるか把握するためにスイッチを使用する方がいいですか? - これは私が欠けていたビットでした、それは私の悪いことです。 – Andy

+0

@Andyあなたのenumの文字列表現が欲しいですか? – emesx

+0

可能であれば、はい。 – Andy

1
class Paddle : public Entity 
{ 
    // ---- 

    const char* currentColour() const { 
switch(couleur) 
{ 
case WHITE: 
    return "white"; 
    break; 
//And so on 
} 
} 
}; 
1

あなたが持っているのであれば:

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} 

を使用すると、関数がこの型の列挙型を返す持っている場合次に、あなただけのあなたにそれを置くことができます配列を取得し、正しい色を文字列形式で取得します。

関連する問題