Zugriff auf Variable einer anderen Klasse
-
Ok, absolutes Noob-Problem:
Ich möchte in einer Klasse auf eine Variable zugreifen, die ich in einer anderen Klasse definiert habe.
Pseudo-Code:
header.h
class1 { String a_string; }; class2 { .. };class1.cpp
#include "header.h" class1::class1() { a_string = "TEST"; }class2.cpp
#include "header.h" class2::class2() { cout << a_string; }Die Ausgabe in class2 bleibt leer. Wie kommt class2 an a_string?
batzilla
-
was soll das für nen sinn haben? Membervariablen sind für die Klasse zu der sie gehören und nicht für eine andere. Du kannst getter und setter Funktionen schreiben, wenn du das brauchst.
-
Hallo,
Du kannst class2 im Konstruktor eine Instanz von class1 mitgeben und dann auf die Membervariable zugreifen.
-
Vielleicht nützt dir auch das Stichwort friend etwas...
-
Eine Klasse klasse kann bleibig oft instanziert werden, unter anderem auch kein einizeges Mal. Welches a_String soll denn deiner Meinung nach verwendet werden?
Beispiel 1:
class1 foo; class1 bar; class1 baz; class2 qux; // welches a_string soll hier benutzt werden? foo.a_string? oder bar.a_string? oder vielleicht doch lieber baz.a_string?Beispiel 2:
class2 qux; // welches a_string soll hier benutzt werden? es existiert doch gar keins
-
? Vllt. das?
class a { public: a() : m_member("Test") {} ~a(); protected: std::wstring m_member; }; class b : public a { void stream(std::ostream& ss) const { ss << m_member << std::endl; } };...