c++ - Funktion zur Rückgabe eines enum?
Also ich habe diesen namespace aufgerufen paddleNS für die Klasse genannt Paddel, innen paddleNS ich habe eine enum-bekannt als Farbe
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; }
};
Nun denn, was ich mich fragte ist, wie würde ich mich über die Erstellung einer Funktion zurückgeben, was die Farbe ist derzeit auch gibt es einen einfacheren Weg, um es zurück in text-form statt des Wertes oder bin ich besser nur über einen Schalter, um herauszufinden, was ist die Farbe?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur wieder das enum-by-value:
std::map<paddleNS::COLOUR, std::string>
. Versuchen Sie, Fragen zu stellen, etwas genauer. juanchopanza beantwortet die Frage, die Sie eigentlich bat.Enumeration<>
Klasse, hatto_string()
Methode0
, und man kann Lücken zwischen Ihre Werte, so dass Sie nicht universell für die Indexierung verwendet (sonst ist die Lösung trivial).Halten Sie ein array von strings, wo die indix in diesem array von strings entspricht dem enum-Wert, den Sie verwenden.
Also, wenn Sie haben:
Ich würde dann ein array definiert:
Dann, wenn Sie eine Funktion zurückgeben ein enum mit diesem Typ können Sie legen Sie Sie einfach in das array und Holen Sie sich die richtige Farbe in string-format.
Hey, können Sie machen Sie Ihre Funktion im header, der so Aussehen:
und wenn Sie eine Funktion definieren:
in main.cpp ich
enter code here
denken, Sie verwalten können, es