Ich bin gerade dabei mir C++ anzueignen. Ich lese das Buch C++ in 21 Tagen.
Dort werden Aufzählungstypen kurz angesprochen. Es geht ja darum, dass man eigene Typen erstellen kann, womit dann Variablen definiert werden können.
Als Beispiel werden die Wochentage aufgeführt. Unter anderem kann man dann die Wochentage als Wort z.B. in if-Bedingungen verwenden. So kann ich also die Zahl 1 eingeben, welche dann z.B. dem Dienstag entspricht. Mit if (x = Dienstag) kann dann die Eingabe verglichen werden.
Nun meine Frage: Ich seh den Sinn darin nicht so ganz. Wenn ich nämlich mehrere verschiedene Aufzählungstypen erstelle, werden die jeweiligen Werte ja wieder ab 0 nummeriert.
Bsp.: Ich definiere den Typ Wochentag und den Typ Monat. Mache ich nun eine Abfrage und tippe die Zahl 0 ein, dann kann damit ja der Januar oder auch der Montag gemeint sein. Ein if-Vergleich würde dann bei beiden Möglichkeiten zutreffen, wäre somit also sinnlos.
Kann mir da jemand helfen, ob ich ev. einen Denkfehler mache bzw. ob man diese Aufzählungstypen einfach nicht so benutzt? Trotzdem bleibt mir schleierhaft, was ich dann mit den integer-Werten anfangen kann, wenn sie sich nicht mehr eindeutig zuordnen lassen.
Gruss und Dank
Thomas
Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge
Der Sinn dieser Aufzählungstypen ist ja gerade, daß du eben nicht mit den Integer-Zahlen arbeitest, sondern mit Begriffen wie Montag, Dienstag,....oder Januar, Februar.... Es geht mehr darum, ein Programm "verständlich" und "lesbar" zu halten. Wenn du irgendwo im Programm so was wie "if (x=2)..." stehen hast, dann weißt du nach 2 Monaten vielleicht nicht mehr, was die 2 an der Stelle eigentlich bedeuten sollte. Daß da 2 für Dienstag oder Februar stehen soll, ist ja nicht so ohne weiteres ersichtlich. "if (x=Dienstag)...." ist in der Hinsicht besser, denn was 'Dienstag' bedeutet, weiß selbst ein Nicht-Programmierer. ;-)