Zugriff auf Parameter über mehrere Klassen hinweg?

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
SDE
Beiträge: 1
Registriert: 29. Mai 2015 11:25

Zugriff auf Parameter über mehrere Klassen hinweg?

Beitrag von SDE » 8. Juni 2015 10:30

Hallo Leute,

ich bin neu in diesem Forum und entschuldige mich schon mal im voraus, wenn ich bestimmte Board-Regeln verletze.

Ich habe neu mit QT Angefangen und stehe vor einem bestimmten Problem und zwar :
_________ _________ _____________ _________
- Klasse 1 - - Klasse 2- - MainWindows - - Klasse 3 -
_________ _________ _____________ _________

Wie kann ich auf Klassen zugreifen, ohne dass ich jedesmal eine neue Instanz kreieren muss? Weil jedesmal gehen ja die Werte dann verloren, wenn ich eine neue Instanz bilde.


MainWindow enthält 2 Button A und B.
Wenn A geklickt wurde, führt dieser eine Funktion der Klasse 1 sowie eine Funktion der Klasse 2 auf.
Wenn B geklickt wurde, wird die Klasse 2 aufgerufen mit den Parametern, welches der Button A geschaffen hat. Aber die Klasse 2 ruft ebenfalls weitere Funktionen der Klasse 1 auf.

Hoffe ich konnte es einigermaßen erklären
Ich würde mich über Hilfe, Tipps oder Beispiel Code schnipsel freuen.

Ich bedanke mich voraus .

RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Re: Zugriff auf Parameter über mehrere Klassen hinweg?

Beitrag von RHBaum » 11. Juni 2015 09:51

Ausser dem C++ Style Gott hindert dich keiner dran, das die Klassen sich untereinander "kennen"
Kennen heisst in C++: haben einen Zeiger / Referenz auf die Klasse.
Das heisst z.b. wenn Mainwindows Klasse 1 und Klasse 2 erzeugt, kann mainwindow auch dafür sorgen, das sich Klasse 1 und klasse 2 kennen.

"Kennen lernen" ist aber wie im realen Leben mit Problemen behaftet ... man gerät quasi in Abhängigkeiten.

Deswegen gibts, grad bei QT , meist Mittel um Aktionen zu abstrahieren, Quasi Events.
Das heisst A wirft ein Event und B hört drauf, A und B kennen sich nicht.
Mit dem Signal/Slot mechanismus "vereinfacht" das Qt nochmal mehr das man quasi methoden einer anderen klasse aufrufen kann ohne sie zu kennen.

Also schau dir Signal/Slot von Qt an, das Framework lebt davon ....

Ciao ...

Antworten