Constructeur de copie

De Appmethod Topics
Aller à : navigation, rechercher

Remonter à Constructeurs - Index

Un constructeur de copie de class X est un constructeur que l'on peut appeler avec un argument unique de type X, comme suit :



 X::X(X&)



ou



 X::X(const X&)



ou



 X::X(const X&, int = 0)



Les arguments implicites sont également autorisés dans un constructeur de copie. Les constructeurs copie sont appelés lors de l'initialisation d'un objet classe, plus précisément lorsque vous déclarez l'initialisation par un autre objet classe :



 X x1;
 X x2 = x1;
 X x3(x1);



Le compilateur génère un constructeur de copie pour class X, s'il en faut un, et si aucun n'est défini dans la class X. Le constructeur de copie généré par le compilateur permet de commencer en toute sécurité la programmation avec des types de données simples. Vous devez faire votre propre définition du constructeur de copie uniquement si votre programme crée des types complexes d'agrégat, comme class, struct et les tableaux. Le constructeur de copie est également appelé lorsque un argument d'une classe est transmis par valeur à une fonction.

Voir aussi la discussion sur l'affectation de classe membre par membre. Nous vous conseillons de définir le constructeur de copie si vous devez surcharger l'opérateur d'affectation.

Voir aussi