L'extension de fichier .h++ est typiquement associée aux fichiers d'en-tête C++. Les fichiers d'en-tête en C++ (et en C) servent d'interfaces entre différentes parties d'un programme ou entre différents programmes. Ils contiennent les déclarations de fonctions, de classes, de variables et d'autres éléments du programme, mais généralement pas les implémentations réelles (définitions) de ces éléments. Le but d'un fichier d'en-tête est de permettre à différents fichiers source de partager ces déclarations sans avoir à les dupliquer. Ceci favorise la réutilisabilité du code, la modularité et la maintenabilité. Lorsqu'un fichier source inclut un fichier d'en-tête (en utilisant la directive #include), le compilateur copie effectivement le contenu du fichier d'en-tête dans le fichier source avant la compilation. Cela permet au compilateur de vérifier que les fonctions sont appelées avec les arguments corrects, que les variables sont utilisées avec les types corrects, et que les classes sont utilisées conformément à leurs interfaces définies. Les fichiers d'en-tête sont cruciaux pour organiser les grands projets C++ et pour créer des bibliothèques pouvant être utilisées par plusieurs programmes. L'utilisation de .h++ est souvent une convention pour distinguer les en-têtes spécifiques aux fonctionnalités C++ des en-têtes C standard.