函数指针

来源:互联网 发布:vscode 同步 编辑:程序博客网 时间:2024/06/04 18:39

#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;
}

原创粉丝点击