User Tools

Site Tools


in204:cpp:syntax:class:constructor:spezialized

This is an old revision of the document!


Les constructeurs spécialisés

Un constructeur de promotion ou de conversion d'une classe MyClass est :

  • un constructeur MyClass(ArgumentType1, ArgumentType2) qui prend au moins deux paramètres comme argument,
  • le type du paramètre 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.

in204/cpp/syntax/class/constructor/spezialized.1569762404.txt.gz · Last modified: 2019/09/29 13:06 by bmonsuez