Comprendre les appels de constructeur en C
En C, les constructeurs sont des fonctions membres spéciales qui s'exécutent automatiquement lorsque les objets d'une classe sont créés. Ils sont responsables de l'initialisation des données membres de l'objet.
Le problème
Considérez l'extrait de code suivant :
#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 }
La fonction main() tente de créer un objet de classe Class. Cependant, il n'appelle pas le constructeur comme prévu.
La cause
Le problème réside dans la syntaxe incorrecte utilisée dans la déclaration d'objet :
Class object();
Cette ligne déclare une fonction nommée object() qui renvoie un objet Class. Pour créer correctement un objet de classe Class, nous devons utiliser la syntaxe suivante :
Class object;
La solution
En supprimant les parenthèses après le nom de la classe, nous déclarer un objet de classe Class. Cet objet appellera correctement le constructeur par défaut, comme prévu.
Notes supplémentaires
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!