Das folgende Code-Beispiel stammt aus dem Buch
Objektorientiertes Programmieren in C++
- Ein Tutorial für Ein- und Umsteiger
von Nicolai Josuttis, Addison-Wesley München, 2001
© Copyright Nicolai Josuttis 2001
#include <iostream>
class BspKlasse {
public:
void func1() {
std::cout << "Aufruf von func1()" << std::endl;
}
void func2() {
std::cout << "Aufruf von func2()" << std::endl;
}
};
// Datentyp: Zeiger auf Elementfunktion der Klasse BspKlasse
// ohne Parameter und Rückgabewert
typedef void (BspKlasse::*BspKlassenFunktion) ();
int main ()
{
// Funktionszeiger auf Elementfunktion der Klasse BspKlasse
BspKlassenFunktion funcPtr;
// Objekt der Klasse BspKlasse
BspKlasse x;
// Komponentenzeiger zeigt auf func1()
funcPtr = & BspKlasse::func1;
// Elementfunktion, auf die der Zeiger zeigt, für Objekt x aufrufen
(x.*funcPtr) ();
// Komponentenzeiger zeigt auf func2()
funcPtr = & BspKlasse::func2;
// Elementfunktion, auf die der Zeiger zeigt, für Objekt x aufrufen
(x.*funcPtr) ();
}