12. Sous-programmes

12.1. Sous-programmes-fonctions
• Définition de fonction
• Appel d’une fonction pour exécution
• Exemples et tâches avec fonctions

12.2. Sous-programmes procédures
• Définition de procédure
• 12.5. Appel d’une procédure pour exécution • Exemple

12.3. Transmission des paramètres entre sous- programmes
• Paramètres passés par valeur. Exemple
• Paramètres passés par référence. Exemples
• Tableaux unidimentionnels comme paramètres formels. Exemple
• Tableaux multidimentionnels comme paramètres formels. Exemple

12.4. Notion de "prototype". Exemple

 
 

12.4. Notion de "prototype". Exemple


En outre la fonction
main(), le programme en C++ peut contenir encore quelques autres sous-programmes. Chaque sous-programme doit être défini avant la fonction main() ou avant le sous-programme ou elle est utilisée. Selon cette règle la fonction main() doit être définie après les autres sous-programmes. Sinon il est nécessaire de déclarer des sous-programmes au début du module utilisant leurs prototypes.

Le prototype a la vue communne suivante:

type аа nom_du_sous_programme(parametres_formels );

Le type peut être aussi
void .

Exemples des prototypes de sous-programmes:

int Cub(int I);
void printRows(int N);
int funA(int x , int y );

Il est possible de laisser échapper les noms des paramètres formels dans le prototype. On doit obligatoirement écrire leurs types et les séparer par ;/point-virgule/, comme dans l'exemple:

int Cub(int );
int funA(int , int );

Le prototype est aussi utilisé dans le cas de la compilation séparée, quand un sous-programme est défini dans le fichier f1, mais il est utilisé dans le fichier f2. La place des prototypes est au début du module, avant la fonction
main(). En ce cas les définitions des sous-programmes peuvent être écrites plus bas, après la définition de la fonction main().

• Exemple. La procédure
readMas saisit les éléments d’un tableau unidimensionnel qui sont affichés dans la fonction main(). #include < iostream.h > void readMas(int, int[]); // prototype /declaration/ de readMas int main() { int a[10]; readMas(10,a); for(int i=0;i < m;i++) cout<<"a["<< i <<"] = "<< a[i]<< endl; return 0; } // дефиниция на readMas void readMas(int m, int arr[]) { for(int i=0;I < m;i++) { cout<<" Въведете arr["<< i<<"] = "; cin>> arr[i]; } } Le sous-programme readMas est défini après la fonction main(), dans laquelle il est utilisé. C'est pourquoi son prototype est écrit au début du fichier.