Auf KlassenMember SourcecodeFile übergreifend zugreifen
-
Hallo,
ich habe eine C++ Frage. Und zwar habe ich vereinfacht gesagt 4 Dateien, 2 header und 2 cpp-files. In einer Header Datei habe ich eine Klasse definiert, in einer cpp Datei ist die zugehörige Implementierung zu finden. Im selben cpp-file lege ich auch ein globales Objekt vom Typ dieser Klasse an.
Nun möchte ich von dem anderen cpp-file, in dem bis jetzt noch nichts drin ist, u.a. auf Methoden des Objekts zugreifen, welches sich in dem anderen cpp-file befinden. Da sind mir spontan 2 Möglichkeiten eingefallen:
1. Deklaration des Objekts in dem File von wo aus ich darauf zugreifen will, als extern. Finde ich relativ unschön, deshalb will ich das vermeiden.
2. Ich schreibe Wrapper-Funktionen für jeden Funktions-Member auf den ich zugreifen will.
Ich kann mich mit beidem nicht so recht anfreunden und bin sicher dass es da viel bessere Möglichkeiten gibt dich ich eben noch nicht kenne. Kann mir jemand einen Hinweis geben, oder ein paar Stichworte mit denen ich suchen kann? Dankeschön...
-
Im selben cpp-file lege ich auch ein globales Objekt vom Typ dieser Klasse an.
Warum? Leg einfach ein neues Objekt in dem File an, indem du es benutzen möchtest. Wo liegt das Problem?
-
Weil das Objekt Datenmember hat. An denen bin ich interessiert.
-
Datenmember? Ein bischen Code wäre nisch schlächt.
-
Das ist genau das, wofür extern da ist. Aber wenn du das nicht benutzen willst, würde ich den Aufbau des Programms nochmal überdenken. Wenn du an einer Stelle Daten brauchst, die an dieser Stelle nicht verfügbar sind, so ist da irgendwas nicht richtig.