请教一个回调函数的问题
向各位高人请教一个问题,想让一个类的成员变量调用本类的函数:
#include <iostream>
class Master;
typedef void (Master::*call_back_t)(void);
class Slave
{
public:
Slave(call_back_t p_callback)
{
mp_callback = p_callback;
}
void print()
{
(this->mp_callback)();
(this->*mp_callback)();
(*mp_callback)();
(mp_callback)();
}
private:
call_back_t mp_callback;
};
class Master
{
public:
Master() : slave_(print)
{
}
void print()
{
std::cout << "Haha" << std::endl;
}
void call()
{
slave_.print();
}
private:
Slave slave_;
};
int main(int argc, char* argv[])
{
Master master;
master.call();
return 0;
}