Pourquoi n'y a-t-il aucun appel au constructeur ?
Le code fourni cherche à créer une instance de la classe Class ; cependant, sa mise en œuvre actuelle entraîne un comportement inattendu. Le code définit un constructeur, qui doit être exécuté lors de la création de l'objet, mais le résultat ne le reflète pas.
En y regardant de plus près, le code contient une erreur cruciale. La ligne Class object(); ne déclare pas correctement un objet de la classe Class. Au lieu de cela, il déclare par erreur une fonction portant le même nom que la classe.
Pour remédier à ce problème, le code doit être modifié pour créer correctement une instance de la classe Class :
#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 }
Avec cette correction, le résultat attendu sera produit, car le constructeur par défaut est désormais correctement appelé lors de la création d'objet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!