首页 >后端开发 >C++ >如何调用C成员函数指针?

如何调用C成员函数指针?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-14 02:47:10975浏览

How to Call C   Member Function Pointers?

C 调用成员函数指针

由于其非静态性质,在 C 中调用成员函数指针需要独特的语法。要有效地调用此类函数,必须与命名参数一起提供表示将调用该函数的对象的 this 指针。

要在代码中指定成员函数指针:

typedef void (Box::*HitTest) (int x, int y, int w, int h);

这为 HitTest 方法定义了一个成员函数指针类型Box 类。

将成员函数添加到列表:

std::list<HitTest> list;

for (std::list<Box*>::const_iterator i = boxList.begin(); i != boxList.end(); ++i)
{
    Box * box = *i;
    list.push_back(&amp;box->HitTest);
}

调用指向成员函数的指针:

(box->*h)(xPos, yPos, width, height);

In在这个例子中,box代表this指针, h 是指向 HitTest 方法的指针,xPosyPoswidth height 是函数参数。

以上是如何调用C成员函数指针?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn