Platzierung der Initialisiererliste in der Konstruktordefinition
Beim Definieren eines Klassenkonstruktors ist es wichtig, die Rolle der Mitgliedsinitialisiererliste zu verstehen. Diese Liste initialisiert Mitgliedsvariablen als Teil der Konstruktordefinition.
Was ihre Platzierung betrifft, ist die Initialisierungsliste Teil der Konstruktordefinition, nicht seiner Deklaration. Dies bedeutet, dass es nicht in der Header-Datei (.h) enthalten ist, in der die Klasse selbst deklariert ist. Stattdessen befindet es sich in der Quelldatei (.cpp), in der der Konstruktor definiert ist.
Beispielverwendung
Betrachten Sie die folgende Klasse:
class Example { private: int m_top; const int m_size; public: Example(int size, int grow_by = 1); };
In diesem Beispiel ist der Konstruktor wie folgt definiert:
Example::Example(int size, int grow_by) : m_size(5), m_top(-1) { // ... }
Die Initialisierungsliste innerhalb dieses Konstruktors initialisiert die Mitgliedsvariablen m_size und m_top. Es ist wichtig, die Initialisierungsliste als Teil der Konstruktordefinition in die Quelldatei (.cpp) aufzunehmen.
Daher erfolgt die korrekte Platzierung der Initialisierungsliste innerhalb der Konstruktordefinition und nicht in der Headerdatei ( .h) wo die Klasse deklariert ist.
Das obige ist der detaillierte Inhalt vonWo soll ich die Member-Initialisiererliste in einem C-Konstruktor platzieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!