Container für verschiedene funktionspointer

Alles rund um die Programmierung mit Qt
Antworten
piXelshooter
Beiträge: 43
Registriert: 25. März 2007 21:19

Container für verschiedene funktionspointer

Beitrag 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?
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag 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 ....
Antworten