Freigeben über


Konstruktoren (C++)

Eine Memberfunktion mit demselben Namen wie die Klasse eine Konstruktorfunktion ist.Konstruktoren können keine Rückgabewerte.Wenn Sie einen Konstruktor mit dem Rückgabetyp anzugeben ist ein Fehler, z. B. die Adresse eines Konstruktors verwendet.

Wenn eine Klasse einen Konstruktor verfügt, wird jedes Objekt dieses Typs mit dem Konstruktor in einem Programm vor der Verwendung initialisiert.(Weitere Informationen zur Initialisierung finden Sie unter Initialisierung Sie mit speziellen Memberfunktionen).

Konstruktoren werden an der Stelle aufgerufen, der ein Objekt erstellt wird.Objekte werden als erstellt:

  • Globale (FILE-bewertet oder extern verknüpft) Objekte.

  • Lokale Objekte innerhalb einer Funktion oder einem kleineren einschließenden Block.

  • Dynamische Objekte unter Verwendung des neu-Operators.Der Operator ordnet neu ein Objekt im Programm oder „zu heap Geben Sie Speicherplatz frei.“

  • Temporäre Objekte erstellt, durch einen Konstruktor explizit aufrufen.(Weitere Informationen finden Sie unter Temporäre Objekte).

  • Temporäre Objekte implizit vom Compiler erstellt.(Weitere Informationen finden Sie unter Temporäre Objekte).

  • Datenmember einer anderen Klasse.Das Erstellen von Objekten des Klassentyps, in dem der Klassentyp von anderen Klassentyp variablen zusammensetzt, wird jedes Objekt in der Klasse erstellt wird.

  • Basisklassenunterobjekt einer Klasse.Das Erstellen von Objekten des Typs der abgeleiteten Klasse wird die Basisklassen Komponenten erstellt werden soll.

Beispiel

// constructors.cpp
// compile with: /c
class MyClass {
public:
   MyClass(){}
   MyClass(int i) : m_i(i) {}

private:
   int m_i;
};

Siehe auch

Referenz

Spezielle Memberfunktionen (C++)