Académique Documents
Professionnel Documents
Culture Documents
On a vu que :
La structure dun programme est gnralement
1. 2. 3. 4. 5. #include de fichiers Dfinition de constantes globales Dfinition de types globaux Dfinition de fonctions main()
Dcoupe dun programme C++ En fait pour les identificateurs, 2 notions existent:
Dclaration :
spcifie son nom spcifie ses caractristiques externes
Dfinition :
spcifie galement ses caractristiques internes dtermine lendroit o il y a rservation de mmoire, initialisation,
On peut avoir plusieurs dclarations mais une seule dfinition
2
main() { PrintCar('*', 70); //PrintCar a t dclar avant et est donc connu PrintCar('_', 50); } void PrintCar(char c, int nb); //dfinition // imprime une ligne avec nb caractres c { for(int i=0; i<nb; ++i) Parfois il est impossible de cout << c; Tout dfinir avant de lutiliser! cout << endl; 3 (rcursivit croise) }
Exemple de compilation spare Solution: on gnre systmatiquement pour chaque groupe de modules dfinis, 2 fichiers
Un fichier nom.cpp contenant la dfinition des fonctions Un fichier nom.h de dclarations de constantes et types globaux et contenant tous les prototypes dfinis dans le fichier nom.cpp Ainsi tout fichier utilisant ce module peut facilement avoir toutes les dclarations en incluant le fichier nom.h.
5
//Fichier Matrice.cpp #include "Matrice.h" //inclus les // cstes&types void ProduitDeMatrice(MatML A, MatLN B, MatMN C) /*Produit de matrices C = A*B*/ { for(int i=0; i<M; ++i) for(int j=0; i<N; ++j) { C[i][j] = 0; for (int k=0; k<L; ++k) C[i][j] += A[i][k]*B[k][j]; } 7 }