Heim >Backend-Entwicklung >C++ >Warum wird mein Klassenkonstruktor nicht aufgerufen?
Warum gibt es keinen Aufruf des Konstruktors?
Der bereitgestellte Code versucht, eine Instanz der Class-Klasse zu erstellen; Die aktuelle Implementierung führt jedoch zu unerwartetem Verhalten. Der Code definiert einen Konstruktor, der bei der Objekterstellung ausgeführt werden soll, die Ausgabe spiegelt dies jedoch nicht wider.
Bei näherer Betrachtung enthält der Code einen entscheidenden Fehler. Die Zeile Class object(); deklariert ein Objekt der Class-Klasse nicht korrekt. Stattdessen wird fälschlicherweise eine Funktion mit demselben Namen wie die Klasse deklariert.
Um dieses Problem zu beheben, sollte der Code geändert werden, um eine Instanz der Class-Klasse korrekt zu erstellen:
#include<iostream> using namespace std; class Class { public: Class() { cout << "default constructor called" << endl; } ~Class() { cout << "destructor called" << endl; } }; int main() { Class object; // Corrected line: Create an object of Class }
Mit dieser Korrektur wird die erwartete Ausgabe erzeugt, da der Standardkonstruktor jetzt ordnungsgemäß bei der Objekterstellung aufgerufen wird.
Das obige ist der detaillierte Inhalt vonWarum wird mein Klassenkonstruktor nicht aufgerufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!