Chapitre 12 : écriture implicite, conversion, valeur par défaut

Conversion C++ :

type C :

Exemple :


Conversion de type à la compilation en C++ :

Exemple :

static_cast<T>(expr) : la valeur

expr est convertie dans le type T.


Exemple :

struct A{
  explicit A(B c){
    ...
  }
};

B obB;
A obA = static_cast<A>(obB);

Ecriture implicite

A la construction d'une classe plusieurs méthodes sont disponibles implicitement car construite automatiquement par le compilateur.

Exemple : sont construit par défaut :

Un moyen de les interdire est de les écrire explicitement.


Argument par défaut

Lors de la déclaration d'une méthode ou d'une fonction on peut spécifier au paramètres des valeurs par défaut si ces valeurs peuvent être claculée durant la compilation

Exemple

void f(int a, int b=3, double d=5.3);
//void g(int c=3, int b, double d=6.2);

int main(){
  f(5,4,2) //ok
  f(5,6) //ok f(5,6,5.3);
  f(5) // f(5,3,5.3);
  //f(); //erreur
}