klassen
-
hi leutz
ich hab ne klasse mit nen paar variablen und methoden geschrieben für ne lagerorganisation
aber die werte von den variablen sind mist das sind so 10-12 stellige zahlen
wobei ich noch nix eingegeben hab
müsste ja eigentlich null sein
weiß jemand woran sowas liegt?
danke schonmal
-
Die Variablen werde nicht automatisch auf 0 gesetzt. Das musst du am besten in der Initialisierungsliste des Konstruktors selbst machen.
-
Die Variablen werden meistens nur bei Debug-Compilierung autom. auf 0 oder null gesetzt. Sobald du aber eine Release-Compilierung hast, steht da Unsinn drin, weil es normal ist. Da der Hauptspeicher des PCs nicht überall 0 stehen hat.
-
Artchi schrieb:
Die Variablen werden meistens nur bei Debug-Compilierung autom. auf 0 oder null gesetzt.
das ist mies. welcher schrott-compiler/linker macht sowas?
-
VC++6.0 hat das gemacht. Weiß jetzt nicht ob das der aktuelle auch macht.
-
wie kann man in der initialisierungsliste arrays initialisieren
hab da nur fehlermeldungen bekommen
kann mir bitte jemand ein beispiel geben ich fang erst an mit klassen und kann das noch nich so sehr
danke
-
ein array würd ich einfach durch memset auf 0 setzen im ctor der klasse.
class Blaaa { Blaaa() { memset(array, 0, sizeof(array)); } int array[10]; }
gibts da eine bessere / andere möglichkeit ?
-
hm...also da ich arrays immer per ebenutzereingabe bestimme mach ichs so:
class bla { int* array; public: bla(int zahl){array=new int[zahl];} ~bla(){delete[] array;} //nicht vergessen };
-
DeathRow schrieb:
wie kann man in der initialisierungsliste arrays initialisieren
hab da nur fehlermeldungen bekommen
kann mir bitte jemand ein beispiel geben ich fang erst an mit klassen und kann das noch nich so sehr
dankeNimm doch statt Arrays einfach std::vector:
class Klasse { Klasse() : values(12, 0) {} private: std::vector<int> values; };
Das legt einen Vektor mit 12 Elementen an, die mit 0 initialisiert sind.
-
Yo, Arrays sollte man vermeiden, wenn man nicht gerade eine Waschmaschine programmiert. Ansonst kann man auch boost::array benutzen, wenn std::vector einem zu mächtig ist.