Problem mit Enumerierungstyp enum in C++
-
Hallo, ich habe eine Frage zu den Aufzählungstyp enum in C++
y deklariere diesen Typ um Zustände eines Flugzeugs zu haben:
enum Flug_Zustand {starten, fliegen, landen, parken};Dann habe ich eine Klasse wo ich sie benutze:
Flug_Zustand Zustand;Was ich möchte ist, in einer Methode von dieser Klasse den Wert von Zustand lesen können, durch die Tastatur, und auch den Wert dann ausgeben können (aber den Wert, zB. landen, nicht 2)
ich habe es so gedacht
cout<<"Gib den Zustand vom Flugzeug"; cin>>->this Zustand; //das gibt mir ein Fehler cout<<->this->estado; //das auchVielleicht gibt es auch einen anderen Aufzählungstyp?
Vielen, vielen dank
marta
-
mcz schrieb:
cout<<"Gib den Zustand vom Flugzeug"; cin>>->this Zustand; //das gibt mir ein Fehler cout<<->this->estado; //das auchWas ist das denn bitte?
Wenn dann:
cout << this->Zustand;
-
Ja, ich habe es vom spanischen übersetzt!!
entschuldigung, das heisst natürlichcout<<->this->Zustand;aber es funktioniert nicht
danke
marta
-
mcz schrieb:
Ja, ich habe es vom spanischen übersetzt!!
entschuldigung
[code]ich glaube hehejo meinte vielmehr was denn
cout<<->darstellen soll
-
Ganz einfach...
Schreibst eine Funktion die dir in abhängigkeit vom Enumwert einen string zurückliefert (geht bequem mit switch) und einen für den umgekehrten Weg (textparser oder mit Compare). Kannst die beiden Funktionen gleich nennen
und danach nach bedarf missbrauchen.
-
Sagt mal hab ich was falsch verstanden oder?
Das ist jetzt das zweite mal dass ich sowas hier lese von wegen
ner enum die dann ein Member sein soll und deren Wert abgefragt oder
gesetzt werden soll wie der einer herkömmlichen member-variablen.
Ich denk doch enum definiert nur Konstanten, die man dazu verwenden
kann einen Wert zu überprüfen oder zu setzen.
I think enumerations are used to define constant values so
you can't use them as membervariables.
Sprichclass A {
public integer Zustand;
...
};
enum example {
FILLED = 1,
EMPTY = 2
}und dann sowas wie
A objectOfClassA;
objectOfClassA.Zustand = example.FILLED;
cout << objectOfClassA.Zustand; // only a number will be returned, in this case 1because you can't even write example.FILLED = 1;
Oder hab ich des falsch?