Seite 1 von 1

Container für verschiedene funktionspointer

Verfasst: 11. Juni 2007 13:57
von piXelshooter
Hallo,
Ich will in einer Variable (bzw einer QMap) Pointer auf verschiedene Funtionen speichern. Wenn es nur funktionen einer bestimmten klasse sind, geht es einfach via

Code: Alles auswählen

QMap <int, void (klasse::*)()> pointers;
aber dann muss die funktion ja unbedingt "klasse" angehören.
Wenn ich jetzt pointer auf verschiedene Funktionen (also zb von verschiedenen klassen oder global) dadrin speichern will, dann hab ich ein problem xD.

Dazu wurde ich auf boost::function oder tr1::function verwiesen.
Bevor ich mir die passenden Bibliotheken runterlade, wollte ich wissen, ob Qt ähnliches zur verfügung stellt?

Verfasst: 12. Juni 2007 10:47
von RHBaum
Glaub nicht das die QT sowas hat .... zumindest hab ich auch nix dergleichen gesehen.
die QT hat nen recht sauberes klassendesign, und funktionspointer / mothodenpointer sind ned wirklich sauberes C++.

In 99% der Faelle lassen sich funktionspointer / methodenpointer auch durch Polymorphie (Interface Prinzip) aufloesen. (Ne VTable iss ja C-Technisch am ende auch nix anderes als ne Funktionspointerliste).

Also ich wuerd versuchen die Funktionspointer wegzubekommen ....

Ciao ....