Modular programming
Modular programming refers to the splitting large programs into several files. These files contain the specification of classes and structures that together with the main file, they form the whole program. The main objective of this is to divide the work among several programmers and paralelyze the programming process.
The main file has to include all other header files that contain the functions used in the program. Normally, classes and functions with similar tasks are grouped together.