Weil besser als gut!

Initialisierung (C++)Die Initialisierung von Objekten (Attributen) wurde bisher im Rumpf von Konstruktoren ausgeführt. Zur Erinnerung: in der Klassendeklaration können keine Initialwerte angegeben werden, da diese dann für alle Objekte der Klasse gelten würden - gefragt ist aber eine objektspezifische Initialisierung. In folgenden Fällen ist die bisherige Konstruktorinitialisierung ungünstig oder gar nicht möglich:
Aber: Aggregate ohne Default Konstruktor sind von diesem Verfahren ganz ausgenommen ! InitialisierungslisteKonstruktordefinitionen (nur bei Konstruktoren) können mit einer Initialisierungsliste versehen werden, die noch vor Eintritt in den Rumpf ausgeführt wird. Diese Liste kann verwendet werden zur Initialisierung von:
Die Syntax der Initialisierungsliste kann auch sonst verwendet werden: C++ int i = 42; oder int i(42); double d = 12.34; oder double d(12.34); Ein Beispiel ist in der Quellcode-Sammlung verfügbar: init_list.cpp.
Kategorie: Programmieren2 |
Zahlen & Daten
Publish |