Was für Werte stehen in Variablen von Klassen bevor der Konstruktor aufgerufen wird
-
Hi!
Mit dem Konstruktor initialisiert man ja eine Klasse. D.h. die Klasse müsste doch schon vollständig vorliegen, sonst könnte man ja nicht sagen:
variable = 17;
Aber was steht schon in variable drin, bevor der Konstruktor aufgerufen wird? 0?
-
xyungeloest schrieb:
Aber was steht schon in variable drin, bevor der Konstruktor aufgerufen wird? 0?
Wenn es statische/globale Variablen sind, sind sie mit 0 initialisiert. Ansonsten uninitialisiert, d.h. es steht das drin, was vorher mehr oder weniger zufällig an der Stelle im Speicher gestanden hat.
-
xyungeloest schrieb:
Mit dem Konstruktor initialisiert man ja eine Klasse.
Nö. Zumindest nicht in C++. In C++ werden Objekte initialisiert nicht Klassen.
Hört sich pedantisch an, ist es aber nicht. In C++ sind Klassen und Objekte zwei unterschiedliche Dinge, die man demzufolge auch unterscheiden sollte.