Die Aufteilung in Source- und headerfiles soll nun an einem ersten Beispiel erläutert werden - sie wird in diesem Kurs noch häufig genutzt werden. Betrachten wir also folgenden noch nicht aufgeteilten Quelltext, er stehe in einer Datei namens 'zahlen.c':
const int Teilt=1; const int TeiltNicht=0; // Rückgabewerte für teilbarDurch int quersumme(int zahl) { if (!zahl) return 0; //zahl=0 => quersumme=0 else return (zahl%10 + quersumme(zahl/10)); // sonst quersumme=letzte Ziffer + Quersumme der ersten Ziffern } int teilbarDurch(int zahl, int teiler) { if (zahl%teiler) return TeiltNicht; // Teiler teilt Zahl nicht else return Teilt; // Teiler teilt Zahl }
Da diese Funktionen mit ihrer Definition gleichzeitig auch deklariert werden, und somit keine seperaten Deklarationen besitzen, müßen diese im headerfile neu geschrieben werden. Auch sollten die beiden Konstanten exportiert werden, d.h. im headerfile definiert werden, da dann Abfragen wie folgende möglich werden:
if (teilbarDurch=TeiltNicht) cout<<"Schade"<<endl;