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
Libérer: 2024-12-26 14:57:14
original
901 Les gens l'ont consulté

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
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal