Pourquoi #ifndef et #define sont-ils nécessaires dans les fichiers d'en-tête C++ ?
Bonjour à tous ! Je viens de commencer à apprendre le C++ et j'écris mon premier programme composé de plusieurs fichiers. J'ai trois fichiers : `main.cpp`, `functions.h` et `functions.cpp`.
Voici le contenu de `functions.h` :
```cpp
// functions.h
void printHello();
int add(int a, int b);
```
Dans `functions.cpp`, j'inclus ce fichier d'en-tête et je définis les fonctions :
```cpp
// functions.cpp
#include "functions.h"
#include
void printHello() {
std::cout << "Hello, world!" << std::endl;
}
int add(int a, int b) {
return a + b;
}
```
Et dans `main.cpp`, j'inclus aussi `functions.h` :
```cpp
// main.cpp
#include "functions.h"
#include
int main() {
printHello();
std::cout << add(3, 4) << std::endl;
return 0;
}
```
Tout fonctionne. Mais j'ai remarqué que dans les projets des autres, au début des fichiers d'en-tête, on écrit souvent quelque chose comme :
```cpp
#ifndef FUNCTIONS_H
#define FUNCTIONS_H
// ... déclarations ...
#endif
```
J'ai essayé de supprimer ces lignes...
No answers yet.
Connectez-vous pour laisser une réponse