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) ();
// exportiertes Objekt und exportierte Elementfunktion
void* objPtr;
void* objfpPtr;
void exportObjectAndFunction (void* op, void* fp)
{
    objPtr = op;
    objfpPtr = fp;
}
void callBspKlassenFunc (void* op, void* fp)
{
    // Typen zurückwandeln
    BspKlasse* bspObjPtr = static_cast<BspKlasse*>(op);
    BspKlassenFunktion* bspObjfpPtr
                         = static_cast<BspKlassenFunktion*>(fp);
    // übergebene Elementfunktion für das übergebene Objekt aufrufen
    (bspObjPtr->*(*bspObjfpPtr)) ();
}
int main ()
{
    // Objekt der Klasse BspKlasse
    BspKlasse x;
    // Funktionszeiger auf Elementfunktion der Klasse BspKlasse
    BspKlassenFunktion funcPtr;
    // Komponentenzeiger zeigt auf func1()
    funcPtr = & BspKlasse::func1;
    // Objekt und Elementfunktion exportieren
    exportObjectAndFunction (&x, &funcPtr);
    // exportierte Elementfunktion für exportiertes Objekt aufrufen
    callBspKlassenFunc (objPtr, objfpPtr);
}