MODULE : POO
Enseignant : Mohamed Kharrat Année universitaire 2016/2017
1
Séance 3
Arguments par défaut
- définition :
- utilisation :
- En C++, on ne peut pas « sauter » des paramètres, même s'ils sont facultatifs.
- Est-ce qu’on peut rendre seulement ‘a’ facultatif, et rendre ‘b’ et ‘c’ obligatoires ?
- Pour indiquer au compilateur qu’une fonction peut accepter une liste de paramètres variable, il faut simplement utiliser des points de suspensions dans la liste des paramètres dans les déclarations et la définition de la fonction. :
- Il faut ajouter la ligne suivante au début du programme :
- #include <stdarg.h>
- Cela permet d’utiliser le type va_list et les expressions va_start, va_arg et va_end pour récupérer les arguments de la liste de paramètres variable, un à un. • va_start(variable, paramètre) ; • va_arg(variable, type) • va_end(variable) ;
- Problème ! !!!!!!!!!!!!!!! • Nombre de paramètres inconnu pour la fonction
Publicité
8
Fonction à nombre de paramètres variable
#include <stdarg.h>
/* Fonction effectuant la somme de "compte"
do /* Parcours de la liste. */ paramètres : */ { double somme(int compte, ...)
resultat=resultat+va_arg(varg, double); compte=compte-1; { } while (compte!=0);
double resultat=0; /* Variable stockant la somme. */
va_end(varg); /* Terminaison. */ va_list varg; /* Variable identifiant le prochain
return resultat;
paramètre. */ } va_start(varg, compte); /* Initialisation de la liste. */
Exemple d’appel: double RR= somme(3, 4.0, 10.0, 3.0) ;
9
L'en-tête fstream : lire & écrire dans un fichier
- il faut spécifier #include <fstream> .
- Les flux sont des objets.
- Les fichiers ouverts sont automatiquement refermés lorsque l'on sort du bloc où le flux est déclaré.
- Ouvrir un fichier en écriture:
- On déclare un flux exactement de la même manière qu'une variable, une variable dont le type serait ofstream et dont la valeur serait le chemin d'accès du fichier à lire.
- Il faut utiliser les chevrons (<<) if(monFlux)