Am 31.12.2011 12:25, schrieb Stefan Reuther:
> Maik W�hl wrote:
>> Am 30.12.2011 21:40, schrieb Thomas Koller:
>>> Maik W�hl <
maik....@googlemail.com> wrote:
>>>> K�nnt ihr mir helfen?
>>>
>>> F�r switch-case darfst du nur Zahlen nehmen. Und strings
>>> sind nunmal keine Ganzzahlen.
>>
>> Ach Gott, wieso spuckt Thunderbird die ganzen Meldungen alle erst heute
>> Abend aus?
>
> Weil das eine Newsgroup ist, eine moderierte noch dazu, und kein Chat :-)
>
>> Mittlerweile habe ich auch begriffen, was es mit Switch-Case auf sich
>> hat. Sollte vorher eigentlich mal nachschauen. Habe das ganze jetzt per
>> int-Zahlen gel�st.
>
> Wenn du dem Nutzer deiner Methode die Auswahl aus einer begrenzten Menge
> Werte geben willst, ist �blicherweise ein enum die beste Wahl.
>
> enum Attribute {
> firstName,
> lastName,
> age,
> birthday
> };
>
> Gute Compiler warnen dann auch, wenn du ein Attribut hinzuf�gst und dann
> in irgendeinem switch() �ber die Attribute vergisst, dieses zu behandeln.
>
> Ansonsten w�rdest du f�r die Dateien "std_lib_facilities.h" und
> - "person.class.h" definiert eine Klasse und dazugeh�rige Member.
> Das passt nicht zusammen.
> + entweder die Member in eine "person.class.cpp"
> + oder die Member inline
> + oder die Datei umbenennen in "person.class.cpp" und die Klasse in
> einen anonymen Namensraum
> So, wie das dasteht, gibt das Linkerfehler, sobald zwei .cpp's die
> "person.class.h" einbinden, weil du dann zwei Definitionen der
> Member hast.
>
> (Ansonsten ist es in Newsgroups gern gesehen, den Code auf ein
> compilierf�higes Minimalbeispiel zu reduzieren und dieses zu posten,
> anstatt auf eine Webseite zu verlinken. Oftmals findet man den Fehler
> dadurch auch selbst. Vielleicht auch deswegen ist hier weniger los als
> in bunten Foren und Chats.)
>
>> Ich habe mir auch das Buch "C++ - Grundlagen" von Galileo Computing
>> gekauft, gerade ganz billig f�r 9,90� zu haben. Und als Nachschlagewerk
>> reicht das.
>
> Zu Galileo f�llt mir spontan nur
> Un�bertroffen als Referenz ist immer noch der Stroustrup.
>
>
> Stefan
So, jetzt habe ich die Klasse Person in den namespace PersonNS gepackt.
Ich habe die std_lib_facilities gel�scht.
Der einzige include in der person.class.h ist die f�r <string>.
Jetzt ist alles sch�n getrennt.
Kurze Frage: Wie macht man in diesem Fall mit dem Switch-Case Problem,
was ja kein Problem mehr ist, ein Minimalbeispiel?