Übersetzungseinheiten in C++
Ein Programm besteht in den wenigsten Fällen aus nur einer Datei. Der Hintergrund liegt darin, die Übersichtlichkeit durch Strukturierung zu verbessern und um größere Arbeiten in einem Projekt auch sauber aufteilen zu können.
In C++ werden Dateien in Headerdateien >>*.h<< und Implementierungsdateien >>*.cpp<< gegliedert und beim späteren Gebrauch die *.h-Datei über die Präprozessoranweisung
#include "Datei.h" in die gewünschte Datei hineinkopiert
Headerdatei
Die Headerdatei beinhaltet Deklarationen, welche in mehreren Übersetzungseinheiten benutzt werden sollen.
Implementierungsdatei
Die Implementierungsdatei enthält den eigentlichen Code.
Übersetzungseinheiten erstellen und zum Programm kompilieren
Wir erstellen nun ein einfaches Programm mit folgenden drei Dateien:
* main.cpp
* helloWorld.h
* helloWorld.cpp
// main.cpp #include "helloWorld.h" int main ( ) { printHello(); return 0; }
// helloWorld.h void printHello(); extern text* Name;
// helloWorld.cpp #include <iostream> #include "helloWorld.h" void printHello ( ) { std::cout << "HelloWorld!" << endl; }
#ifndef HELLO_WORLD #define HELLO_WORLD /* * Hier der eigentliche Code */ #endif