Beim Erstellen einer Klasse generiert der Compiler implizit bestimmte Mitgliedsfunktionen, wenn bestimmte Bedingungen erfüllt sind. Obwohl diese Funktionen nicht explizit in der Klassendefinition deklariert sind, spielen sie eine entscheidende Rolle für deren Funktionalität.
Standardkonstruktor
Der Standardkonstruktor wird automatisch erstellt, wenn keiner vorhanden ist explizit in der Klasse definiert. Es handelt sich um einen Konstruktor ohne Argumente, der Mitglieder mit Standardwerten initialisiert. Sein Hauptzweck besteht darin, die Objekterstellung ohne Angabe von Anfangswerten zu erleichtern.
Kopierkonstruktor
Der Kopierkonstruktor kopiert die Werte aller Datenelemente aus einem vorhandenen Objekt desselben Klasse zu einem neu erstellten Objekt. Es ermöglicht die Übergabe von Objekten nach Wert und erstellt eine tiefe Kopie des Objekts.
Kopierzuweisungsoperator
Der Kopierzuweisungsoperator weist die Werte aller Datenelemente aus einem vorhandenen zu Objekt zu einem vorhandenen Objekt. Es ermöglicht das Ändern der Werte eines vorhandenen Objekts durch Kopieren von einem anderen Objekt derselben Klasse.
Destruktor
Der Destruktor ist für die Freigabe von Speicher und die Durchführung aller erforderlichen Bereinigungsaktionen verantwortlich wenn ein Gegenstand zerstört wird. Es wird automatisch generiert, um während der Objektkonstruktion zugewiesene Ressourcen freizugeben.
Memberfunktionen werden nur bei Bedarf generiert
In C 98/03 generiert der Compiler diese Funktionen nur, wenn sie vorhanden sind sind erforderlich. In C 11 und höher gelten zusätzliche Regeln:
Warum ein Standardkonstruktor benötigt wird
Der Standardkonstruktor dient mehreren Zwecken:
Das obige ist der detaillierte Inhalt vonWelche vom Compiler generierten Mitglieder hat eine C-Klasse?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!