Hallo zusammen, mal wieder eine Frage zum Menuaufbau in C++. An sich habe ich schon ein System aufgebaut, welches funktioniert. Meine Frage geht eher in die Richtung, wie "verbinde" ich Einstellungen, die ich im Menu machen kann OOP-konform mit dem Rest des Programmes? - Klar über "extern" kann ich alles über all hin bringen, nur die feine englische Art ist das nicht. Gibt es vll. Artikel/Referenzdesigns oder auch Bücher, die sich damit beschäftigen? viele Grüße! >>Konkret: >ich habe eine Klasse als Knoten definiert, die zum "senkrechten" itterieren >einen "parent" und einen "child" Zeiger hat - zum waagerechten "next" und >"previous". Dazu einen Itterator, der in der Lage ist, durch von außen >gesetzte Controlls in dem Baum "rumzuklettern". >Währe es z.B. OOP legitim, einer abgeleiteten Knoten Klasse eine Callback >Methode mitzugeben? Darüber könnte ich ja auch Instanzen von Objekten aus >der "habenden" Hierachiestufe darüber mitgeben. Zum Beispiel möchte ich >"Items" erzeugen, die in einem "ItemHeap" liegen. Dessen Referenz könnte >ich einer spezialisierten Klassenableitung von "Item_Node" mitgeben?
Eine Anleitung für erfolgreiche OOP: 1.) Besuch die Schule zueende und pass gut auf, wenn es ums Schreiben von Aufsätzen geht. Wenn du die Schule schon hinter dir hast, besorg dir die Deutschbücher für Klasse 1-10 und lern, wie man sich verständlich ausdrückt! 2.) Lies https://de.wikipedia.org/wiki/Entwurfsmuster_(Buch) Wenn du in ein paar Jahren mit 1. und 2. fertig bist, komm wieder und erklär dein Problem.
Hallo Jasson, ich nehme an es geht darum Ereignisse der GUI an die "entsprechende" Funktion weiteruleiten?! Das wird häufig über Callbacks umgesetzt, die entweder direkt im GUI-"Fenster"-Objekt oder beim Dispatcher registriert werden (good old C style). Eine Alternative (in C++) ist die Registrierung von Objekten (mit einem vorgegebenen Interface), die bei entsprechenden Events aufgerufen werden (bspw. Observer Pattern).
Wenn es so richtig hässlich aber Hipster-kompatibel sein soll: Für jeden Callback eine std::function Template Instanz, dazu eine Methode mit der man als std::function Ziel einen Lambda-Ausdrucken zuweisen kann. Die klassische Lösung: Den Kern den Menüsystems als ein Framework schreibt. Fehlendes Verhalten wird durch abstrakte Methoden abgebildet. Der Programmierer implementiert abgeleitete Klassen mit dem gewünschten, spezifischen Verhalten. Allerdings ist Vererbung in modernen Programmierer-Kreisen völlig aus der Mode gekommen und wird verteufelt. Andere klassische Lösung: Simple, anwendungsspezifische Sprache zur deklarieren von Menüs und deren Verhalten entwerfen. Codegenerator (ist z.B. mit klassischen Linux Textprocessing-Tools eine Fingerübung), der aus Menüdeklarationen C++ Code erzeugt. Den normalerweise unglaublich hässlichen generierten Code nicht mehr ansehen und nicht mehr anfassen. Nur compilieren.
Hallo, Ich bin mir zwar nicht 100% sicher was du meinst, aber es erinnert mich an Rekursive Datenstrukturen, habe ich damit recht? Wenn ja musst du deine Informationen die du an eine bestimmte Stelle Schreiben willst, solange vom Startknoten aus übergeben bis du an die passende Stelle gekommen bist.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.