enum ?
-
Hallo,
ich soll eine Klasse TType schreiben die eigentlich nur eine Methode enum type {wert1, ...}; hat. Das problem ist wie zerlege ich diese Klasse dann in .h und .cpp Files??
Und wie mache ich den anderen Klassen klar das sie nun auch noch einen wertebereich type haben ??schonmal danke für eure hilfe??
-
Hallo
Das problem ist wie zerlege ich diese Klasse dann in .h und .cpp Files??
Lohnt sich doch fasst gar nicht... selbts den Konstruktor könntest du ja weglassen.
class TType { public : TType() {}; enum type {wert1, ...}; };Und wie mache ich den anderen Klassen klar das sie nun auch noch einen wertebereich type haben ??
Indem du mit includes dafür sorgst, das die Klassendefinition an den benötigten Stellen bekannt ist
bis bald
akari
-
Danke für die Antwort.
Ich habe nun das problem das, wenn ich eine variable vom Typm type erstelle mir der compieler sagt das
'type' : undeclared identifier
ist.hab ich bei der initialisierung irgendwas falsch gemacht ??
#include <iostream> #include "TType.h" using namespace std; int main() { type text = wert1; return 0; }class TType { public : TType() {}; enum type {wert1, wert2}; };
-
Hallo
da du das enum ja in TType definiert hast, must du den Klassennamen auch als Scope bentuzen :
#include <iostream> #include "TType.h" using namespace std; int main() { TType::type text = TType::wert1; return 0; }bis bald
akari
-
D.h.
das ich, wenn ich eine methode z.B.insert(char*test, type wert);schreiben möchte,ich type mit TType::type beschreiben muss oder gibt es da noch eine andere möglichkeit ??
-
Hallo
nein du must dann
insert(char*test, TType::type wert);schreiben.
Btw : wenn du anstatt class namespace nehmen würdest, wäre das (eventuell) passender für deine Zwecke und du könntest den Scope (was aber meistens unerwünscht ist) mit using namespace aufschließen.
bis bald
akari
-
Hi,
wenn ich das also richtig verstanden habe kann ich meinen enum type wert nicht wie einen primitiven datentypen verwenden ??
-
Hallo
doch, technisch gesehen genausso. Nur das der Name eben durch den Klassennamen verlängert wird.
bis bald
akari
-
Hi,
ich hab die Tips nun in mein Programm umgesetzt nunhabe ich das Problem, das mir der Compiler nun beim compilieren des folgenden Quellcodes folgende Fehlermeldung bringt#ifndef _TTYPE_ #define _TTYPE_ class TType { public : TType() {}; enum ttype {TokenMod, TokenDiv, TokenPrint , TokenMax, TokenMin}; }; #endif //_TTYPE_TType.h : fatal error LNK1106: invalid file or disk full: cannot seek to 0x231E
-
Hallo
der Quellcode selber wird bei mir fehlerfrei kompiliert.
Die Fehlermeldung deudet auch auf nicht auf ein Syntax-Problem, sondern auf ein Dateiproblem hin. Entweder ist deine Festplatte voll oder in der Datei sind üngültige Sonderzeichen.
Erstell die Datei nochmal neu und schreib per Hand den sauberen Code rein.bis bald
akari