[C++] Gleiches Objekt in zwei verschiedenen Dateien verwenden
-
Hallo zusammen,
mir ist klar, dass es eigentlich zu den Basics gehört, doch ich brauche dennoch eine Starthilfe
Nehmen wir an, ich habe eine Klasse in der Datei test.h definiert. In der Datei test.cpp greife ich auf das erstellte Objekt dieser Klasse zu.
Nun möchte ich das gleiche Objekt z.B. auch in der Datei probe.cpp nutzen. Meine Frage ist nun, wie ich das macheerstens stellt sich die Frage, was ich in probe.cpp einbinden(#include) muss (ich denke doch test.h, oder?) und wie ich dann auf das Objekt zugreifen kann.
Muss in dieser Situation vielleicht "extern" genutzt werden? (wenn ja, wo??)
Vielen Dank für die Hilfe!
Gruß
-
skluge schrieb:
erstens stellt sich die Frage, was ich in probe.cpp einbinden(#include) muss (ich denke doch test.h, oder?) und wie ich dann auf das Objekt zugreifen kann.
Genau, die probe.cpp benötigt die test.h, um (a) die Definition deiner Klasse und (b) den Namen des Objektes zu kennen.
Muss in dieser Situation vielleicht "extern" genutzt werden? (wenn ja, wo??)
Ja - in der test.h (und die 'echte' Definition kommt dann in die test.cpp):
//test.h class test {...}; extern test the_tester;//extern = reine Deklaration //test.cpp #include "test.h" test the_tester;//Definition, auch als 'test the_tester(...);' möglich ... //probe.h #include "test.h" ...
Edit: Aber globale Objekte sind sowieso "out" - definier' das Objekt lieber in der main() und reiche es dann als Parameter dorthin weiter, wo du damit arbeiten willst.
-
Und da wir bei C++/CLI sind:
Managed Objekte sind global verboten, geht also ohnehin nicht.