Freigeben über


Spezielle Memberfunktionen (C++)

C++ definiert mehrere Arten von Funktionen, die nur als Klassenmember deklariert werden können – diese werden "speziellen Memberfunktionen" genannt. Diese Funktionen beeinflussen die Art und Weise, wie Objekte einer angegebenen Klasse erstellt, zerstört, kopiert und in Objekte anderer Typen konvertiert werden. Eine weitere wichtige Eigenschaft von vielen dieser Funktionen ist, dass sie implizit aufgerufen werden können (vom Compiler).

Die in diesem Abschnitt beschriebenen speziellen Memberfunktionen lauten wie folgt:

Die Elemente in der vorangehenden Liste können für jede Klasse benutzerdefiniert werden.

Spezielle Memberfunktionen befolgen die gleichen Zugriffsregeln wie andere Memberfunktionen. Die Zugriffsregeln sind in Memberzugriffssteuerung beschrieben. In der folgenden Tabelle wird zusammengefasst, wie sich Member- und Friend-Funktionen verhalten.

Zusammenfassung des Funktionsverhaltens

Funktionstyp

Wird die Funktion aus der Basisklasse geerbt?

Kann die Funktion virtuell sein?

Kann die Funktion einen Wert zurückgegeben?

Ist die Funktion ein Member oder ein Friend?

Generiert der Compiler die Funktion, wenn der Benutzer dies nicht tut?

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

Sonstige Memberfunktionen

Ja

Ja

Ja

Member

Nein

Friend-Funktionen

Nein

Nein

Ja

Friend

Nein

Siehe auch

Weitere Ressourcen

C++-Sprachreferenz