Programmation Orienté Objet en C++( science 3)

MODULE : POO 

Enseignant : Mohamed Kharrat Année universitaire 2016/2017 

Séance 3 

Arguments par défaut 

void fonction(int a, int b, int c) 

cout << a << « , » << b << « , » << c; 

cout << endl; 

return; 

} prototype : 

void fonction(int, int=0, int=1); 

Arguments par défaut 

void main() 

int x,y; 

x=4; 

y=x+5; 

fonction(y); // fonction(y,0,1); 

fonction(2,x); // fonction(2,x,1); 

fonction(x,y,x+y); // 3 arguments 

Arguments par défaut Cas particuliers, attention danger 

Surcharge de fonctions 

prototype 

void f(int,int); void f(int,double); void f(double,int); 

les 3 fonctions coexistent dans un programme 

Exemple 

Fonction permettant d’additionner deux entiers, puis une autre deux flottants. 

int add(int a, int b) { return a+b; } 

float add(float a, float b) { return a+9; } 

//pas de problème de conflit de nom, le compilateur est suffisamment malin pour deviner quoi faire avec 

int neuf = add(4,5); 

float f = add(4.6f,99.23f); 

Attention : pas de prise en compte de la valeur de retour. 

Signature = Nom+Liste des Types

Fonctions prenant un nombre variable de paramètres 

type identificateur(paramètres, …) 

#include <stdarg.h> 

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) ; 

L’en-tête fstream : lire & écrire dans un fichier 

ofstream monFlux(« C:/dossier/scores.txt »); 

//Déclaration d’un flux permettant d’écrire dans le fichier 

10 « C:/dossier/scores.txt » 

Test 

if(monFlux) //On teste si tout est OK { 

//Tout est OK, on peut utiliser le fichier } else

cout << « ERREUR: Impossible d’ouvrir le fichier. » << endl; } 

11 

Écrire dans un flux 

monFlux << « Année universitaire. » << endl; monFlux << 2016/2017 << endl; int mois(9); monFlux << « Mois  » << mois <<  » ans. » << endl; } 

12 

télécharger gratuitement cours de Programmation Orienté Objet en C++(science 3)

Quitter la version mobile