C++11 и callback-функции... Есть что-нибудь новое?
Появился враппер std::function. С ним вы можете использовать и функцию, и функтор. Удобно использовать с лямбдами или с std::bind.#include <iostream>
#include <functional>

using namespace std;

class MyClass {
public:
        void hello() {
                cout << "Hello from " << __LINE__ << endl;
        }
};


static void hello() {
        cout << "Hello from " << __LINE__ << endl;
}

static void do_with_callback( std::function<void()> && callback ) {
        callback();
}

int main() {
        MyClass cl;

        do_with_callback( std::function<void()>(hello) ); // VC 2012 fix
        do_with_callback( std::bind(&MyClass::hello, &cl) );
        do_with_callback( [&](){
                cl.hello();
        } );

        return 0;
}
Вывод:Hello from 15
Hello from 9
Hello from 9
В старом С++ работал указатель только на обычные функции, а функции - члены класса нельзя было присваивать. Все можно было делать, главное - понимать что именно делаешь.struct foo {
  void bar();
};

typedef void (foo::*member_ptr) ();
member_ptr p = &foo:bar;

foo f;
(f.*p)(); // косвенный вызов bar