Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Comprendre les constructeurs C++ : Par défaut, paramétrés et de copie expliqués

Comprendre les constructeurs C++

Ce tutoriel explore les constructeurs C++ — ce qu'ils sont, pourquoi ils importent, et comment implémenter les constructeurs par défaut, paramétrés et de copie avec des exemples clairs.

Un constructeur est une fonction membre spéciale qui s'exécute automatiquement quand un objet est instancié. En C++, le constructeur partage son nom avec la classe et ne spécifie pas de type de retour.

class Mur {
public:
    // Constructeur
    Mur() {
        // code d'initialisation
    }
};

Le constructeur doit :


Constructeur par défaut

Un constructeur sans paramètres est connu comme un constructeur par défaut. L'exemple Mur() ci-dessus en est un.


Exemple 1 : Constructeur par défaut

// Démonstration d'un constructeur par défaut
#include <iostream>
using namespace std;
class Mur {
private:
    double longueur;
public:
    // Constructeur par défaut
    Mur() {
        longueur = 5.5;
        cout << "Création d'un mur." << endl;
        cout << "Longueur = " << longueur << endl;
    }
};
int main() {
    Mur mur1;
    return 0;
}

Sortie

Création d'un mur
Longueur = 5.5

Quand mur1 est instancié, le constructeur par défaut définit longueur à 5.5 et affiche les messages.

Note : Si une classe n'a pas de constructeur explicite, le compilateur génère automatiquement un constructeur par défaut qui ne fait rien.


Constructeur paramétré

Les constructeurs paramétrés reçoivent des arguments pour initialiser les données membres à la création de l'objet. C'est la méthode préférée pour configurer l'état d'un objet.


Exemple 2 : Constructeur paramétré

// Calcul de la surface d'un mur en utilisant un constructeur paramétré
#include <iostream>
using namespace std;
class Mur {
private:
    double longueur;
    double hauteur;
public:
    // Constructeur paramétré
    Mur(double len, double hgt) {
        longueur = len;
        hauteur = hgt;
    }
    double calculerSurface() {
        return longueur * hauteur;
    }
};
int main() {
    Mur mur1(10.5, 8.6);
    Mur mur2(8.5, 6.3);
    cout << "Surface du mur 1 : " << mur1.calculerSurface() << endl;
    cout << "Surface du mur 2 : " << mur2.calculerSurface();
    return 0;
}

Sortie

Surface du mur 1 : 90.3
Surface du mur 2 : 53.55

Le constructeur assigne les valeurs passées à longueur et hauteur, permettant à calculerSurface() de calculer la surface du mur.


Constructeur de copie

Un constructeur de copie crée un nouvel objet comme une copie exacte d'un existant. Il est invoqué quand un objet est initialisé à partir d'un autre du même type.


Exemple 3 : Constructeur de copie

#include <iostream>
using namespace std;
class Mur {
private:
    double longueur;
    double hauteur;
public:
    // Constructeur paramétré
    Mur(double len, double hgt) {
        longueur = len;
        hauteur = hgt;
    }
    // Constructeur de copie
    Mur(Mur &obj) {
        longueur = obj.longueur;
        hauteur = obj.hauteur;
    }
    double calculerSurface() {
        return longueur * hauteur;
    }
};
int main() {
    Mur mur1(10.5, 8.6);
    Mur mur2 = mur1; // Invoque le constructeur de copie
    cout << "Surface du mur 1 : " << mur1.calculerSurface() << endl;
    cout << "Surface du mur 2 : " << mur2.calculerSurface();
    return 0;
}

Sortie

Surface du mur 1 : 90.3
Surface du mur 2 : 90.3

Le constructeur de copie copie longueur et hauteur de mur1 vers mur2, assurant que les deux objets ont un état identique.

Note : Les constructeurs initialisent principalement les objets, mais ils permettent aussi d'exécuter une logique personnalisée pendant la création d'objet.

Langue C

  1. Constructeurs C# : Types, exemples et patterns avancés
  2. Maîtriser la surcharge de constructeurs en C#
  3. Comprendre les types de données C++ : Fondamentaux, modificateurs et bonnes pratiques
  4. Maîtriser les opérateurs C++ : Guide complet avec exemples pratiques
  5. Commentaires C++ : Bonnes pratiques pour un code lisible et maintenable
  6. Maîtriser les templates de classe en C++ : Guide pratique
  7. Maîtriser les constructeurs Java : Types, utilisation et exemples pratiques
  8. Comprendre les Constructeurs Java : Initialisation et Bonnes Pratiques
  9. Langage C++ : Vue d'ensemble et caractéristiques clés