C ++ обратный вызов с использованием члена класса

Я знаю, что об этом спрашивали так много раз, и поэтомуТрудно копаться в луже и найти простой пример того, что работает.

у меня есть это, этоэто просто, и это работает дляMyClass...

#include 
using std::cout;
using std::endl;

class MyClass
{
    public:
        MyClass();
        static void Callback(MyClass* instance, int x);
    private:
        int private_x;
};

class EventHandler
{
    public:
        void addHandler(MyClass* owner)
        {
            cout < "Handler added..." < endl;
            //Let's pretend an event just occured
            owner->Callback(owner,1);
        }
};

EventHandler* handler;

MyClass::MyClass()
{
    private_x = 5;
    handler->addHandler(this);
}

void MyClass::Callback(MyClass* instance, int x)
{
    cout < x + instance->private_x < endl;
}

int main(int argc, char** argv)
{
    handler = new EventHandler();
    MyClass* myClass = new MyClass();
}

class YourClass
{
    public:
        YourClass();
        static void Callback(YourClass* instance, int x);
};

Ответы на вопрос(6)

Ваш ответ на вопрос