einfache Datentypen
-
Hallo,
ich soll Datentypen wetter_t und monat_t implementieren um diese in meinem Programm verwenden zu können:
Wetter soll: SONNIG, KALT, WINDIG usw. sein, soll ich diese Datentypen mit einem enum machen bzw. kann ich das in C++ mit enum machen und wie könnte ich das machen?Vielen Dank für die Antworten,
lg
int ernten(monat_t monat); // aufgerufen wird die Methode in einer anderen Klasse so: p.ernten(SEPTEMBER);wie kann ich diese 2 Datentypen implementieren?
-
Was für Werte soll den monat_t bekommen?
-
Na du hast es doch schon selber gesagt: Mit enums. (Man könnte es auch noch mit einer Klasse machen, die einen privaten Ctor hat und static public Instanzen der einzelnen Werte)
-
und wo deklariere ich das Ganze, ich brauche das Ganze in mehreren Klassen,
Wo mache ich das am Besten?
-
Ich würde sie global anlegen (bzw. in einen namespace, falls du welche verwendest).
enum monat_t { Januar, Februar, usw... };
-
Eine eigene Klasse also oder, ich bin Java- Programierer, hab daher mit enm nicht so viel am Hut,
lg
-
Ein Typ, Variable etc. ist global, wenn sie außerhalb eines Blocks definiert wird.
Wenn du den Typ in unterschiedlichen .cpp Dateien brauchst, kannste den Typ einfach in einen Header packen:// foo.h enum monat_t { Januar, Februar, ... }; // foo.c #include "foo.h" int moep(monat_t monat);
-
Hallo nochmal,
vielen Dank für Deinen Tipp,
Ich bekomme jetzt folgende Fehlermeldung:error C2011: 'monat_t' : 'enum'-Typ-NeudefinitionWas mache ich da falsch?
lg
-
Ich würde sagen du inkludierst den Header irgendwo mehr als einmal. Versuch es einfach mal mit einem Header mit dieser Struktur:
#ifndef FOO_H #define FOO_H enum monat_t { Januar, Februar }; #endif
-
Hallo,
hätte noch eine Frage und zwar habe ich ein Klasse Baum, diese Klasse ist die Basisklasse für 2 Unterklassen:
Ich bekomme aber leider folgenden Fehler:#include <time.h> class Baum { public: int getAlter(void); void zeigen(void); protected: int hoehe; int gepflanzt; }; error C2011: 'Baum' : 'class'-Typ-NeudefinitionWas mache ich da falsch??
lg
-
Das selbe wie oben - du inkludierst den Header mehrfach (direkt oder indirekt) in einem CPP File. Die Lösung dafür sind Inklude-Guards, wie sie this->that schon vorgeführt hat.