Freigeben über


Initialisierung mit einer besonderen Memberfunktionen

Dieser Abschnitt beschreibt die Initialisierung Sie mit speziellen Memberfunktionen.Es reicht zum nächsten Diskussionen zur Initialisierung:

  • Aggregate initialisieren , das beschreibt, wie Nicht-Klassen-Typen Objekte und Arrays von einfachen Klassentypen initialisiert.Diese einfachen Klassentypen können die private oder geschützte Member nicht enthalten, und sie können Basisklassen aufweisen.

  • Konstruktoren, der erklärt, wie Sie mit speziellen Klassentyp Objekte Konstruktorfunktionen initialisiert.

Die Standardmethode der Initialisierung ist, eine BIT-für BIT-Kopie des Initialisierers in das zu initialisierende Objekt auszuführen.Diese Methode ist nur anwendbar:

  • Objekte aus integrierten Datentypen.Beispiele:

    int i = 100;
    
  • Zeiger.Beispiele:

    int i;
    int *pi = &i;
    
  • Verweise.Beispiele:

    String sFileName( "FILE.DAT" );
    String &rs = sFileName;
    
  • Objekte des Klassentyps, in dem die Klasse nicht die private oder geschützte Member, keine virtuellen Funktionen und keine Basisklassen verfügt.Beispiele:

    // spec1_special_member_functions.cpp
    // compile with: /LD
    struct Point
    {
        int x, y;
    };
    
    Point pt = { 10, 20 };   // Static storage class only
    

Klassen können weiterhin entwickelt hat die Initialisierung angeben, indem sie Konstruktorfunktionen definieren.(Weitere Informationen zum Deklarieren von Funktionen finden Sie unter Konstruktoren). Wenn ein Objekt von einem Klassentyp darstellt, der über einen Konstruktor verfügt, muss das Objekt initialisiert werden, oder es muss ein Standardkonstruktor geben.Objekte, die nicht speziell Aufruf der Standardkonstruktor der Klasse initialisiert werden.

Siehe auch

Referenz

Spezielle Memberfunktionen (C++)