Ja es gibt Methodenzeiger, allerdings weiß ich nicht genau ob das so funktioniert wie du dir das wünschst weil du was von beliebigen Methoden schreibst.
Ich hab dir mal ein kurzes Beispiel zusammengestellt:
#include <stdio.h>
class A
{
public:
void print(char* szString)
{
printf("%s\n",szString); //Ausgabe mit \n am Ende
}
void print2(char* szString)
{
printf(szString); //Ausgabe ohne neue Zeile
}
void DoIt(void (A::*Methode)(char*))
{
(this->*Methode)("Test");
}
};
void DoIt2(A* obj, void (A::*Methode)(char*))
{
(obj->*Methode)("Test2");
}
int main()
{
A a;
a.DoIt(a.print2);
DoIt2(&a,a.print);
return 0;
}
[/PHP]
Einmal die Methode DoIt innerhalb der Klasse welche einen Methodenzeiger erwartet und einmal DoIt2 außerhalb der Klasse.