Ein großes Programm in einer einzigen Datei zu verwalten ist schwierig! Dies führt zu langen Übersetzungszeiten, unübersichtlicher Anordnung der verschiedenen Teile und zu extremen Problemen, die Datei konsistent zu halten, wenn mehrere Personen an diesem Projekt arbeiten.
Man trennt Programme daher meist in mehrere Dateien auf, die getrennt
voneinander kompiliert werden. Übersetzbare (Implementierungs-)
C++-Dateien erhalten den Suffix .cc
(aber auch andere
Endungen sind üblich). Dateien, die nur Deklarationen enthalten,
heissen auch header-Dateien und dienen dazu, Funktionen und Daten
aus einem Programmteil im anderen bekanntzumachen. Diese Dateien
haben den Suffix .h
. In der Regel (Ausnahme z.B. main.cc
)
gehört zu jeder Implementierungsdatei auch eine Header-Datei.
Header-Dateien sollten enthalten:
#ifndef HEADER_H #define HEADER_H // declarations #endif
inline
Funktionen
extern
Deklarationen globaler Variablen, Deklaration statischer
Klassenvariablen.
template
- Funktionen
und Klassen.
Implementierungsdateien sollten enthalten: