首頁 > 後端開發 > C++ > 如何呼叫C成員函數指標?

如何呼叫C成員函數指標?

Mary-Kate Olsen
發布: 2024-12-14 02:47:10
原創
968 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板