您的位置:首页 > 运维架构 > Linux

成员函数指针的使用方式

2014-03-29 15:54 190 查看
1.定义成员函数指针;

typedef void(CTest::* PROC_FUNC)();

2.成员函数作为入参的书写格式;

call(&className::functionName);

3.调用类成员函数指针的格式;

(this->*func)();

待扩展:用C函数调用C++成员函数怎么调用?涉及到静态成员要怎么处理?---------------

class CTest;
typedef void(CTest::* PROC_FUNC)();
void traverse(PROC_FUNC proc);

class CTest
{
public:
void proc_a(){};
void proc_b(){};
void run();
void traverse(PROC_FUNC proc);
private:
int m_a;
};

void CTest::traverse(PROC_FUNC proc)
{
(this->*proc)();
}

void CTest::run()
{
traverse(&CTest::proc_a);
traverse(&CTest::proc_b);
}
int main()
{
CTest ct;
ct.run();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux c++