Ich habe drei Klassen in drei Header-Dateien deklariert. Jede dieser Deklarationen ist von einem Block
umgeben. Die dazugehörigen Prozeduren und Funktionen stehen jeweils in
klasse_x.cpp, die jedoch nicht nur ihre eigenen Header-Dateien "includen", also z.B.
klasse_1.h aus
klasse_1.cpp, sondern auch Header-Dateien der übrigen beiden Klassen. Ich möchte nämlich aus einer Klasse auch Funktionen aus einer anderen Klasse nutzen.
main.cpp sieht so aus:
Code: Alles auswählen
#include <common.h>
#include <klasse_1.h>
#include <klasse_2.h>
#include <klasse_3.h>
...
klasse_1.cpp so:
Code: Alles auswählen
#include <common.h>
#include <klasse_1.h>
#include <klasse_2.h>
...
Man sieht also, es müßte eine Mehrfachdeklaration geben, die vom Linker auch bemängelt werden. Aber sollte das nicht der #ifndef-Block in den Headern verhindern? Ist es vielleicht unsauber bzw. unmöglich, in Funktionen einer Klasse Funktionen einer anderen Klasse zu verwenden? Wenn ich das richtig verstanden habe, dann spielt die Reihenfolge der #include-Statements auch eine Rolle. Irgendwie stehe ich mächtig auf dem Schlauch.
Täuschung ist das Silikon der Postmoderne.