Hallo weiß jemand ob es möglich ist ein Objekt so zu schreiben, dass man einer Instanz des Objektes eine Funktion zuweisen kann. Das dann etwa so etwas möglich ist.
C++:
Objekt Instanz1; Objekt Instanz2; ... Instanz1.funkt = funktion1; Instanz2.funkt = funktion2; .. Instanz1.funkt(); Instanz2.funtk(); ..
Dabei soll dann die Instanz1 die funktion1 und die Instanz2 diefunktion2 ausführen. -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
Aber sag mal lieber, was Du vorhast. Übrigens sind die STL Funktoren ganz brauchbar und ziemlich flexibel -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21)
Genau das was ich gesucht habe. Ich brauche das z.B. für einen Button. Wird auf den Button geklickt, dann übernimmt eine Funktion das zeichen im gedrückten und im nicht gedrückten Zustand. Dabei werden verschiedene mehrere Funktionen ausgeführt (wenn die Maustaste gedrückt wird, wenn sie Losgelassen wird...) Bei jedem dieser Eregnisse soll dann eine dazugehörige Funktion aufgerufen werden. Diese sollen bei jedem Button andere sein. -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
@loddab Das Problem bei dem vom mir gezeigten Ansatz ist ja, daß die Funktionen gloabal sind und in keiner Relation zu der umgebenden Klasse haben (ganz zu schweigen von dem public Member). Wenn normale virtuelle Funktionen für Dich keine Alternative sind, dann wären ggf. STL Functoren und/oder member functionAdaptor (auch STL) eine Alternative. Du hast die wahl... -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21)
Wie könnte ich denn das mit virtuellen Funktionen verwirklichen? -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
Hm das neue ableiten wollte ich eigentlich vermeiden -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
Ich würde an deiner Stelle eher globale Funktionen und Funktionspointer vermeiden, als ein paar Klassen mehr zu schreiben, aber mach was du willst. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra
Im Endeffekt werde ich die Leute fragen die die Klassen benutzen werden was ihnen besser gefällt. Warum sollte man deiner Meinung nach globale Funktionen und Funktionspointer vermeiden? -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)