A header file is a file used by programmers to hold various declarations and definitions.  Each source code file typically has an associated header file which contains the definitions relevant to that file.  In the C++ programming language, the file project.cpp would use a file named project.h or project.hpp as its header file.