Cours - 4 - POO
Cours - 4 - POO
Cours - 4 - POO
1
Définition des fonctions
type identificateur(paramètres)
{
... // Instructions de la fonction.
}
2
Syntaxe de la liste des paramètres
3
La valeur renvoyée par la fonction est spécifiée en utilisant la
commande return, dont la syntaxe est :
return valeur ;
Exemple:
int i=somme(2,3); // appel de la fonction somme
5
Si la déclaration comprend des valeurs par
défaut, ces valeurs sont utilisées lorsque ces
paramètres ne sont pas fournis lors de
l’appel.
Exemple:
int Min(int, int) ; //Déclaration de la fonction minimum définie plus loin
9
Fonctions inline
#include<iostream>
Using namespace std;
int x=1,y= 2; // variables globales
void var_local(void); // prototype de la fonction
/************************/
main()
{
cout<<"avant d'appeler la fonction var_local, x="<<x <<"et y ="<<y<<"\n";
var_local();
cout<<"après l'appel de la fonction var_local,x="<<x <<"et y ="<<y<<"\n";
return 0;
}
/*******************************/
void var_local(void) // définition de la fonction
{int x=88, y=99; // variables locales
cout<<"dans la fonction var_local, x="<<x <<« et y = "<<y<<"\n";
}
12
Variables statiques
Une variable statique, et généralement initialisée, maintient sa valeur entre
les appels des fonctions.
Exemple: (A essayer en TP)
include<iostream>
Using namespace std;
double mean (double x)
{static double N=0;
static double S=0;
N++;
S+=x;
return S/N;}
/*******************************/
main()
{cout<<"mean(1)= " <<mean(1)<<"\n";
cout<<"mean(2)= " <<mean(2)<<"\n";
cout<<"mean(4)= " <<mean(4)<<"\n";
cout<<"mean(10)= " <<mean(10)<<"\n";
cout<<"mean(11)= " <<mean(11)<<"\n";
return 0;
13
}
Surcharge des fonctions
(function overloading)
14
Exemple1:
#include <iostream>
Using namespace std;
16
Exemple2:
#include <iostream>
Using namespace std;
int main( ) {
cout<< "valeur absolue de -10: "<< abs(-10)<< "\n";
cout<<"valeur absolue de -10.01:"<<abs(-10.01)<<"\n";
return 0;
}
// abs( )pour entiers
int abs (int n) {
cout << "Pour les entiers abs( )\n";
return n<0 ? -n : n;
}
// abs( ) pour réels double précision
double abs (double n) {
cout << "pour les réels double précision abs( )\n";
return n<0 ? -n : n;
} 17
La fonction main
18
Les fonctions d’entrée-sortie de base
19
La fonction printf
Syntaxe:
printf(chaîne de format [, valeur [, valeur [...]]])
20
La syntaxe des formateurs est la suivante :
%[[indicateur]...][largeur][.précision][taille] type
21
Le type de la variable à afficher est aussi obligatoire.
Type de données à afficher Caractère de formatage
22
La fonction scanf
Syntaxe:
23
Exemple: (A tester en TP)
#include <cstdio>
int main ()
{
char str [80];
int i;
printf ("Entrez votre nom de famille: ");
scanf ("%s",str);
printf ("Entrez votre âge: ");
scanf ("%d",&i);
printf ("Mr./Mme %s a %d ans.\n",str,i);
printf ("Votre âge en hexadécimal est %#x (%d).\n",i,i);
return 0; ?
}
24
Exemple