Table of Contents

Le constructeur par défaut

Le constructeur par défaut est un constructeur qui ne prend aucun paramètre. C'est le constructeur qui est appelé pour initialiser l'objet par défaut.

std::string nom;             // Création d'un object chaîne de caractère 
                             // puis appel du constructeur par défaut.
std::string prenom;

Déclaration du constructeur par défaut

Le constructeur par défaut est déclaré comme le constructeur n'ayant aucun paramètre.

class MyClass
{
public:
    MyClass()                // Constructeur par défaut.
    {}
};

Une bonne pratique consiste à ce que le programmeur s'assure que le constructeur par défaut initialise l'ensemble des champs de l'objet à une valeur donnée.

Par défaut, c'est à dire sans action de la part du programmeur, les champs sont initialisés comme suit :

Génération automatique du constructeur par défaut

En l'absence de tout autre constructeur spécialisé, un constructeur par défaut est automatiquement généré.

Ce constructeur par défaut est :

Pour la classe MyClass dérivant des classes BaseClass et ImplementationClass et possédant un champ entier value, le constructeur par défaut généré automatiquement correspond au constructeur suivant

class MyClass: 
  public BaseClass, 
  private ImplementationClass
{
    private:
        int value;
    public:
        MyClass(): BaseClass(), ImplementationClass(), 
            value() // Correspond au constructeur par défaut généré automatiquement
                    // en C++.
        {}
}; 

Comme corollaire, pour pouvoir générer automatiquement un constructeur par défaut, il est impératif que l'ensemble des champs et des classes de bases exposent un constructeur par défaut ou un mécanisme d'initialisation par défaut. Si ce n'est pas le cas, le compilateur ne génèrera pas de constructeur par défaut.