This is an old revision of the document!
Un constructeur de promotion ou de conversion d'une classe MyClass
est :
MyClass(ArgumentType1, ArgumentType2)
qui prend au moins deux paramètres comme argument,ArgumentType
n'est fait une référence à MyClass
, ie. ArgumentType
n'est pas égal à const MyClass&
((MyClass(const MyClass&)
est appelé constructeur de recopie.class Complex { private: double re; double im; public: Complex(): re(0.0), im(0.0) // Constructeur par défaut. {} Complex(const Complex& theSource): // Constructeur de recopie re(theSource.re), im(theSource.im) {} Complex(double aFloat): // Conversion re(aFloat), im(0.0) {} Complex(double theReal, double theImaginary) re(theReal), im(theImaginary) // Constructeur spécialisé {} };
Dans la classe Complex
, le constructeur Complex(double aFloat)
définit un constructeur de conversion qui prend une valeur ayant pour type double
comme argument. Ce constructeur permet de convertir une valeur flottante en un nombre complexe réel. Il s'agit a priori d'une fonction de conversion, c'est pour cela que ce type d'opérateur porte comme constructeur de contruction ou de promotion.