hi
Ich möchte ganz einfach auf Daten einer Klasse von einer anderen aus zugreifen. Dazu habe ich z.B. 2 Headerdateien und 2 worin sich der Code befindet:
header1.h: ... class Klasse1 { public QString hallo; ...}
code1.cpp: hallo="hallo, Welt!"; ...
header2.h: class Klasse2 { ... }
code2..cpp: #include "header1.h" #include "header2.h" cout << hallo << endl;
Soweit ich das verstanden habe, müsste es doch so in etwa funktionieren, oder? Nur bekomme ich ungefähr so eine Fehlermeldung: undeclared indentifier hallo Hä? Wenn es public ist, müsste ich doch auch aus anderen Klassen zugreifen können, oder? Die Aufrüfe von hallo erfolgen jeweils im Kontruktor von Klasse1 bzw. Klasse2.
P.S. Das oben sind natürlich nur vereinfachte Beispiele.
Aha. Also ich weiss nicht, ob nicht etwas mehr Code dem Verstaendnis foerderlich gewesen waere (-; Ist die Zeile cout << hallo << endl; innerhalb einer Funktion von Klasse2? Also von Deinem Code her nicht. Weil sonst koennte unmoeglich direkt davor header2.h geladen werden. Auf hallo aus Klasse1 kannst Du von einer anderen Klasse nur zugreifen, wenn auch ein Objekt von Klasse1 hast. z.B. class Klasse2 { Klasse1 MeinHalloSprecher; public: void funktion() { cout << MeinHalloSprecher.hallo << endl; } }; (ungetestet)
code2..cpp: #include "header1.h" #include "header2.h" cout << hallo << endl;
Vielleicht magst Du, wenn Dir Stefans Antwort nicht das gewuenschte liefern sollte, noch mal etwas mehr Code posten, so dass die Zusammenhaenge erkennbar sind. Bye P.S. Deklarationen von Klassen werden mit einem ; abgeschlossen. -- | Bodo Kaelberer | http://www.webkind.de/ | http://www.mehr-demokratie-wagen.de/ ---- | Haben oder Nichts sein