ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4462664
Jetzt (Chat):
8 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-

FAQ - Frequently Asked Questions - Allgemeine Programmierung


Initialisierungslisten

Von Cygon
Zitat:
Die Initialisierungslisten sind sowohl zur Initialisierung von Membervariablen als auch zur Initialisierung von Basisklassen da.

Angenommen, du hast eine Klasse mit einem Konstruktor, der einen integer benötigt. Wenn du diese Klasse jetzt direkt (also ohne Zeiger) als Variable einer anderen Klasse einsetzt, ist die einzige Möglichkeit zur Initialisierung die Initialisierungsliste:
Code:
struct BraucheParameter {
  BraucheParameter(int i) {}
};

struct Test {
  BraucheParameter m_bp;

  Test() : m_bp(123) {}
  // Test() {} <-- Fehler, m_bp kann nicht initialisiert werden
};


Genauso siehts bei der Vererbung aus, hier ist die Initialisierungsliste deine einzige Möglichkeit, einen Parameter an den Konstruktor der Basisklasse zu übergeben:
Code:
struct BasisMitParameter {
  BasisMitParameter(int i) {}
  virtual ~BasisMitParameter() {}
};

struct Test : public BasisMitParameter {
  Test(int i) : BasisMitParameter(i) {}
};


-Markus-