Les headers permettent le bon fonctionnement d'un programme. Il faut savoir que programme ne peut inclure toutes les fonctions (e.g : fonctions basiques comme le cout, cin, ou encore l'utilisation de string). D'une parce que ça ferait un nombre inimaginable de lignes de code supplémentaire, et de deux ça risquerait d'affecter les performances globales du programme.
De ce fait, on préfère utiliser le système de headers, qui permet d'aller piocher les fonctions nécessaires.
Il existe 2 sortes de fichier .h.
Ceux qui sont inclus nativement dans le langage C++ ils sont caractérisés par des chevrons '<>' et en général l'absence de l'extension .h lorsqu'on veut inclure l'une d'entre elles.
Quelques headers natifs au C++
<iostream> : Permet l'utilisation de cin / cout
<string> : Nécessaire pour utiliser les string ainsi que les fonctions qui leur sont associées
<math> : Pour mettre des fonctions mathématique dans votre programme
<time> : Utile pour créer un générateur de valeurs pseudo aléatoire
<windows> : Relatif aux fonctions liées à Windows.
Ceux qui sont crées par l'utilisateur sont spécifié par l'utilisation de guillements '""' et de l'ajout d'un '.h'.
Création d'un fichier .h
#ifndef __MON_FICHIER_H__
#define __MON_FICHIER_H__
// votre code
#endif
L'appel de ce fichier se fera ainsi :
#include "fichier.h"