Spezielle Memberfunktionen (C++)
C++ definiert mehrere Arten von Funktionen, die nur als Klassenmember deklariert werden können:Diese werden als „Spezielle Memberfunktionen“. Diese Funktionen haben die Möglichkeit, die Objekte der angegebenen Klasse erstellt werden, zerstört, kopiert und in Objekte anderer Typen konvertiert.Eine andere wichtige Eigenschaft von vielen dieser Funktionen besteht darin, dass sie implizit aufgerufen werden können (durch den Compiler.)
Die speziellen Memberfunktionen, die in diesem Abschnitt beschriebenen lauten wie folgt:
Konstruktoren.Aktivieren Sie die automatische Initialisierung von Objekten.
Destruktoren.Führen Sie eine Bereinigung aus, nachdem Objekte explizit oder implizit gelöscht werden.
Konvertierungsfunktionen.Konvertieren zwischen Klassentypen und anderen Typen.
neues Feature des Operators.Reserviert Speicher dynamisch zu.
Operator für löschungs.Gibt Datenspeicher zugeordnet neu mithilfe des Operators.
Zuweisungsoperator (operator=).Wird verwendet, wenn eine Zuweisung erfolgt.
Die Elemente in der obigen Liste können für jede Klasse benutzerdefiniert sein.
Spezielle Memberfunktionen befolgen Sie die gleichen Zugriffsregeln wie andere Memberfunktion.Die Zugriffsregeln werden in Member-ACCESS-Steuerelementbeschrieben.In der folgenden Tabelle ist zusammengefasst, wie Member und Friend-Funktionen verhalten.
Zusammenfassung des Funktions-Verhaltens
Funktionstyp |
Werden die Funktion von der Basisklasse geerbt werden? |
Die Funktion virtuell sein? |
Die Funktion einen Wert zurückgeben? |
Ist Funktion Mitglied oder Friend? |
Generiert Compiler Funktion, wenn Benutzer hingegen nicht? |
---|---|---|---|---|---|
Konstruktor |
Nein |
Nein |
Nein |
Member |
Ja |
Kopierkonstruktor |
Nein |
Nein |
Nein |
Member |
Ja |
Destruktor |
Nein |
Ja |
Nein |
Member |
Ja |
Conversion |
Ja |
Ja |
Nein |
Member |
Nein |
Zuweisung (operator=) |
Nein |
Ja |
Ja |
Member |
Ja |
new |
Ja |
Nein |
void* |
Statischer Member |
Nein |
delete |
Ja |
Nein |
void |
Statischer Member |
Nein |
Andere Memberfunktionen |
Ja |
Ja |
Ja |
Member |
Nein |
Friend-Funktionen |
Nein |
Nein |
Ja |
Friend |
Nein |