si tu programmes en C, tu peux créer un fichier cpp par catégorie de fonction : par exemple, 1 fichier contiendra les fonctions relatives aux entrées/sorties, un autre contiendra les fonctions relatives à l'affichage, etc....
tu devras ensuite placer les prototypes de ces fonctions dans un fichier d'entete .h, et inclure ce fichier .h dans chaque fichier ou tu feras référence à une fonction déclarée dans ce .h
en c++, les usages veulent qu'on créé un fichier cpp par classe, avec le .h correspondant. chaque fois que tu instancieras un objet de cette classe, tu devras également inclure ce .h
les 2 logiciels phares (VC++ et C++ Builder) s'occupent de te créer les cpp et .h, t'évitant ainsi les inclusions multiples.
en espérant avoir été assez clair...