#include <iostream>
using namespace std;
void print()
{
cout << "procedure test" << endl;
}
void func(void (*my_callback)() )
{
(*my_callback)();
}
class CMyTest
{
public:
CMyTest();
virtual ~CMyTest();
void TestFunc(void (CMyTest::*Callback)(), CMyTest* pRunClass);
void Print();
};
CMyTest::CMyTest()
{
}
CMyTest::~CMyTest()
{
}
void CMyTest::Print()
{
cout << "CMyClass test" << endl;
}
void CMyTest::TestFunc(void (CMyTest::*Callback)(), CMyTest* pRunClass)
{
(pRunClass->*Callback)();
}
int main(int argc, _TCHAR* argv[])
{
func(print);
CMyTest varMyTest;
varMyTest.TestFunc(&CMyTest::Print, &varMyTest);
return 0;
}