Heim >Backend-Entwicklung >C++ >Wie instanziiere ich ein C-Klasse-Objekt korrekt und rufe seinen Konstruktor auf?
Konstruktoraufrufe in C verstehen
In C sind Konstruktoren spezielle Mitgliedsfunktionen, die automatisch ausgeführt werden, wenn Objekte einer Klasse erstellt werden. Sie sind für die Initialisierung der Datenelemente des Objekts verantwortlich.
Das Problem
Betrachten Sie den folgenden Codeausschnitt:
#include <iostream> using namespace std; class Class { public: Class() { cout << "default constructor called" << endl; } ~Class() { cout << "destructor called" << endl; } }; int main() { Class object(); // Incorrect syntax }
Die main()-Funktion versucht, ein Objekt der Klasse Class zu erstellen. Der Konstruktor wird jedoch nicht wie erwartet aufgerufen.
Die Ursache
Das Problem liegt in der falschen Syntax, die in der Objektdeklaration verwendet wird:
Class object();
Diese Zeile deklariert eine Funktion namens object(), die ein Klassenobjekt zurückgibt. Um ein Objekt der Klasse Class korrekt zu erstellen, sollten wir die folgende Syntax verwenden:
Class object;
Die Lösung
Durch Entfernen der Klammern nach dem Klassennamen haben wir es richtig gemacht Deklarieren Sie ein Objekt der Klasse Class. Dieses Objekt ruft den Standardkonstruktor wie erwartet korrekt auf.
Zusätzliche Hinweise
Das obige ist der detaillierte Inhalt vonWie instanziiere ich ein C-Klasse-Objekt korrekt und rufe seinen Konstruktor auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!