Memberfunktion richtig aufrufen
-
Hallo,
ich lerne gerade den Umgang mit Klassen.
Nun habe ich ein Problem. Ich habe zwei Klassen erstellt z.B A und B. Hierzu habe ich in der Main Funktion jeweils ein Objekt (ObjA und ObjB) erstellt und anschl. eine Memberfunktion mit ObjA.Funktion aufgerufen. In dieser Funktion möchte ich nun eine Memberfunktion mit ObjB.Funktion aufrufen. Allerdings erhalte ich hier eine Fehlermeldung ObjB wäre nicht deklariert bzw. definiert. Die Klassen befinden sich in jeweils extra .cpp + .h Dateien, welche ich mit #include auch eingebunden habe. Wenn ich aus der Main ObjB.Funktion aufrufen möchte, klappt es auch.
Meine Frage: Wie kann ich eine Memberfunktion einer anderen Klasse aufrufen ?
Gruß
Jürgen
-
Der Fehler den du beschreibst: In der Funktion gibt es wohl kein Objekt von der Klasse B.
-
Genau. Das Objekt gibt es nur in der Main. Aber ich kann es doch nicht zweimal generien. Hat das was mit dem Gültigkeitsbereich von Variablen zu tun ? Wenn ja, wie komme ich weiter ?
-
Übergib
ObjBals Parameter an die MemberfunktionA::Funktion(). Entweder als Wert, Referenz oder Zeiger.
-
JuergenmitUE schrieb:
Aber ich kann es doch nicht zweimal generien.
Häh? Du kannst so viele Instanzen einer Klasse haben wie du lustig bist. Du kannst auch Objekte kopieren.
Hat das was mit dem Gültigkeitsbereich von Variablen zu tun ?
Alles.
Wenn ja, wie komme ich weiter ?
Die Frage ist zu allgemein, es gibt zuviele Möglichkeiten und es ist unklar, was du überhaupt und warum möchtest. Das kann man nicht an einem abstrakten Beispiel mit A und B festmachen. Das wäre so als wenn du fragen würdest: "Ich bin in A und will nach B, wie komme ich am besten dort hin?"
Lern noch einmal die Grundlagen von C++ in einem guten(!) Buch, dann dürfte dir auch klar werden, was das Problem ist und dann ergibt sich die Lösung von ganz alleine und du lachst da drüber, dass du das jemals schwierig fandest.