Maison >développement back-end >C++ >Pourquoi mon constructeur de classe n'est-il pas appelé ?

Pourquoi mon constructeur de classe n'est-il pas appelé ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-26 14:57:14905parcourir

Why Doesn't My Class Constructor Get Called?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn