Grüss euch,
also mit der Struktur der .h/.cpp Dateien komme ich immer noch nicht so ganz klar (mag auch an der "event driven" Schreibe liegen).
Darum habe ich eine grundsätzliche Frage zu den Include Dateien. Natürlich hätte das auch im C++ Forum Platz, aber es gibt ja doch den einen oder anderen Unterschied zu .net (gerade die managed classes sind ja etwas restriktiver als normale C++ Klassen - z.B. erlauben sie kein "extern ref class bla^ blub
.
Angenommen, man hat folgende Klassen bzw. Include Dateien:
Hier ist ja alles in Ordnung.
Hier gibt es auch kein Problem
Aber was macht man z.B. hier?
Also Datei D wird von Datei B und C benötigt und Datei A benötigt Datei B, C (direkt) und auch Datei D. Ist dann für einen Objektorientierten Programmierer die Struktur des Programms einfach falsch oder wird dann eben so, wie im ersten Beispiel, eingebunden? Wenn Datei B und C jeweils Datei D includen würden, dann gäbe es ja schon Probleme.
Und was wäre dann, wenn Datei B auch noch Datei C (und vielleicht sogar noch umgekehrt) benötigt? Wie gesagt, wir sprechen hier immer von ref class und keinen normalen Klassen (also "extern" geht wohl nicht).
Gibt es da dann Möglichkeiten, sich zu helfen?
Oder, anders gefragt, wie wird ein #include Pfad gebastelt, der eben diese Abhängigkeiten auch befriedigen kann?
EDIT:
Ich sollte vielleicht noch dazu sagen, warum ich hierfür eine Lösung suche:
In meiner Applikation habe ich eine Ereignis-Klasse erstellt, die wirklich von jedem Programmteil (also in jedem Header) aus erreichbar und ausführbar sein soll. In diesem Falle habe ich hier die wichtigsten Methoden und Variablen sowieso schon static bzw. static delegates auf die Event-Methode (also den Auslöser des Events). Und da ich eben keine einfache Include-Hierarchie realisieren kann, stehe ich eben vor dem beschriebenen Problem.
Ich hoffe, meine Fragen erscheinen nicht zu dämlich
also mit der Struktur der .h/.cpp Dateien komme ich immer noch nicht so ganz klar (mag auch an der "event driven" Schreibe liegen).
Darum habe ich eine grundsätzliche Frage zu den Include Dateien. Natürlich hätte das auch im C++ Forum Platz, aber es gibt ja doch den einen oder anderen Unterschied zu .net (gerade die managed classes sind ja etwas restriktiver als normale C++ Klassen - z.B. erlauben sie kein "extern ref class bla^ blub

Angenommen, man hat folgende Klassen bzw. Include Dateien:
Code:
Datei C
|
Datei B
|
Datei A
Code:
Datei C Datei D Datei E
| | |
--------------| |
Datei B |
| |
--------------|
Datei A
Aber was macht man z.B. hier?
Code:
------- Datei C -------
Datei D -------| |------- Datei A
------- Datei B -------
Und was wäre dann, wenn Datei B auch noch Datei C (und vielleicht sogar noch umgekehrt) benötigt? Wie gesagt, wir sprechen hier immer von ref class und keinen normalen Klassen (also "extern" geht wohl nicht).
Gibt es da dann Möglichkeiten, sich zu helfen?
Oder, anders gefragt, wie wird ein #include Pfad gebastelt, der eben diese Abhängigkeiten auch befriedigen kann?
EDIT:
Ich sollte vielleicht noch dazu sagen, warum ich hierfür eine Lösung suche:
In meiner Applikation habe ich eine Ereignis-Klasse erstellt, die wirklich von jedem Programmteil (also in jedem Header) aus erreichbar und ausführbar sein soll. In diesem Falle habe ich hier die wichtigsten Methoden und Variablen sowieso schon static bzw. static delegates auf die Event-Methode (also den Auslöser des Events). Und da ich eben keine einfache Include-Hierarchie realisieren kann, stehe ich eben vor dem beschriebenen Problem.
Ich hoffe, meine Fragen erscheinen nicht zu dämlich

Zuletzt bearbeitet: