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(&box->HitTest); }
呼叫指向成員函數的指標:
(box->*h)(xPos, yPos, width, height);
In在這個例子中,box代表this指針, h 是指向HitTest 方法的指針,xPos、yPos、width 和 height 是函數參數。
以上是如何呼叫C成員函數指標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!