wie kann ich ein enum typ in eine klasse benutzen??
-
ich habe folgendes problem :: angenomen:
[..include ,define]
enum Kat{kat1,kat2,kat3,kat4};
class XYZ{
private:
Kat kat_;
public:
explicit XYZ(Kat k=kat1
:kat_(k)){
}
virtual ~XYZ(){ }Kat kat() const {
return kat_;
}
void kat(Kat k) {
kat_ = k;
}};
#endifbis jetz ist ok
aber ich brauch eine funktion dieeine von diese Enum kategorie wählt
in folgenden kann #-- cout << kateg(x) --#// x ist zeiger von die klasse XYZ ich habe mit switch probiert aber es wirkt nicht zeigt keine fehler meldung aber wenn ich was eingebe da gibt 1 oder null zurück
ich habe die funktion so aber ist nicht vollstaändig
const std::string waehleKategorie( const XYZ &x){ std::stringstream kategorie; kategorie << x.kategorie(); //return kategorie.str(); char theCharacter; std::cout << "geben sie eine Kategorie ein\n " <<"1-Wohenen \n" <<"2-Essen\n" <<"3-Koerperpflege\n" <<"4- Kleidung\n" <<"5-Haushalt\n" <<"6-Mobielitaet\n" <<"7-Gesundheit \n" <<"8-Versicherung\n" <<"9-Vergnuegen\n" <<"0-Sonstiges\n" ; // read the character from the keyboard std::cin >> theCharacter; switch( theCharacter ) {/* case '1': output_str = "1-Wohnen " ; break; case '2': output_str = "2-Essen " ; break; case '3': output_str = "3-Koerperpflege "; break; case '4': output_str = "4-Köerperpflege "; break; case '5': output_str = "5-Haushalt "; break; case '6': output_str = "6-Mobilitaet "; break; case '7': output_str = "7-Gesundheit "; break; case '8': output_str = "8-Versicherungen "; break; case '9': output_str = "9-Vergnuegen "; break; case '0':output_str = "10-Sonstiges " ;break; default: output_str = "Unzlaesige Kategorie"; */} return kategorie.str(); //cout << output_str << endl; }ich wäre sehr dank bar wenn jemnad mich helfen wurde
danke im vorauslodi
-
kannst du das Problem eventuell genauer erklären - der Kern der Frage ist irgendwo auf der Strecke geblieben.
(PS: cout kann keine enum-Werte ausgeben, deshalb werden die vorher nach int umgewandelt - und du erhältst die numerische Entsprechung der enum's (0 für 'kat1' ... 3 für 'kat4'))
-
ich brauche eine hifsfunktin die ein wert rausgibt und das in eine mySQL anlegt
mit zwei kategorien funktioniert das ohne probleme mit (a ? a : b) aber da ich viel habe muss ich diese funktion schreiben durch den der benutzer wählt Eine möglichket und mit diese wert wir gearbeitet
ein kleine beispiel select * from XTAbelle Where funktionname(klassenZEIGER);//ein_buchstabe als kalsen zeiger
und dan bei den suche wird der anwender gefragt von welche kategorie wollen Sie informatione haben
oder für anlegen welche kategorie wollen Sie anlegen an datensatz
das gluabe ich ist nicht schewer aber ich mache ein fehler (logische fehler ) das compiler meldet kein fehler aber das funktion ist wirkungslosist mir ein bischen schwer genau zu erklären bitte um verständnis
danke im voraus
für jede Ide oder vorschlag
mfg
lodi
-
hat keine eine ide
bitte hilft mir
-
lodi- schrieb:
hat keine eine ide
bitte hilft mirVermutlich liegts daran dass kein Mensch versteht was Du möchtest, bitte um Verständnis.
Im Ernst:
Wenn DU Hilfe möchtest, erkläre das Problem so dass WIR es verstehen. Sonst wird das mit der Hilfe extrem schwierig. (Das fängt übrigens bei der Formatierung der Beiträge an)