Enums und Stringkonstanten wo speichern?
-
Ich habe zwei Fragen:
* wohin sollen string Konstanten und enums gespeichert werden (im Header oder im cpp file) und wo soll das ganze gespeichert werden (in der Klassendefinition oder ausserhalb oder in einem ganz eigenen File)?
Wir haben im game.h (momentan noch ausserhalb der Klassendefinition) zb. folgendes um Fehler als String-Konstanten zu speichern:
enum ERROR_NR
{
ERROR1= 0,
ERROR2,
};const string ERROR1_STR = "ERROR: unknown command";
const string ERROR2_STR = "ERROR: dsafasdf";gibt es keine elegantere
Methode, das ganze zu implementieren? wie z.B:enum ERROR_NR
{
ERROR1= 0,
ERROR2,
};string error_str[2];
error_str[ERROR1] = "ERROR: unknown command";
error_str[ERROR2] = "ERROR: no piece at start square";usw.
-> hier beklagt sich aber der Compiler (weil string eine klasse ist vermute ich mal)
Lösung: string error_str[2] in die Klassendefinition hineintun und string Zuweisungen im Konstruktor machen, was glaube ich aber nicht so schön ist. Gibt es hier spezielle keywords oder sowas in der art?
Danke
-
Andi1983 schrieb:
* wohin sollen string Konstanten und enums gespeichert werden (im Header oder im cpp file) und wo soll das ganze gespeichert werden (in der Klassendefinition oder ausserhalb oder in einem ganz eigenen File)?
Im Header, wenn man sie in mehreren Quelldateien braucht. Wenn man es nur lokal braucht, dann in die Quellcode-Datei.
gibt es keine elegantere
Methode, das ganze zu implementieren? wie z.B:enum { ERROR1, ERROR2, NO_OF_ERRORS }; char const *errors[] = { "Error1", "Error2" };HTH
-
hab vergessen zu schreiben das ich C++ Code schreibe.
Leider haben mir deine Codeschnippsel nicht viel gebracht wobei ich glaub das ich was vergessen habe und sie deshalb nicht funktionieren.
MfG und Danke
-
Das ist C++.