所以基本上我在遊戲中製作按鈕,而按鈕就是一個叫做Button的按鈕。 我想要存儲的函數叫做SoccerLevelsClass。我試過尋找函數指針,但我不確定發生了什麼,但我認爲這是正確的事情。我可以將一個類的函數傳遞給另一個類的構造函數,並將它存儲在那裏以便稍後調用? C++
我想將ButtonLevelsClass的功能保存爲Button的成員。 我會做這樣的事嗎?
//MenuButton.h
#ifndef MenuButton
#define MenuButton
....
class Button
{
public:
Button(void(*SoccerLevelsClass::func)());
void (*SoccerLevelsClass::function)();
....
}
#endif
//MenuButton.cpp
#include <MenuButton.h>
Button::Button(void(*SoccerLevelsClass::func)())
{
function=func; //something like this
}
我知道代碼可能是失敗的,但我想知道是否有人有任何建議。 我真的很想知道的是,如果有可能的話。
您是否正在使用C++ 11或第三方庫(如boost或Qt)?你想要做的是在'Button'類中放置一個'委託'對象,C++ 11具有'std :: function',boost有'boost :: bind'上下文(例如)你想要什麼。如果沒有,你可以做你在問什麼,但確實需要一些額外的工作 – txtechhelp