まず、コールバックメンバ関数を使用するためには、クラスを定義する必要があります。以下に、例としてCallbackClassという名前のクラスを用意しましょう。
class CallbackClass {
public:
void callbackFunction(int data) {
// コールバック時に実行される処理
// ここに任意の処理を記述する
// 例えば、データの表示や計算などを行う
}
};
次に、コールバックを行うクラスを定義します。以下に、CallbackCallerという名前のクラスを用意しましょう。
class CallbackCaller {
private:
CallbackClass* callbackObject;
public:
void setCallbackObject(CallbackClass* object) {
callbackObject = object;
}
void performCallback(int data) {
// コールバックメンバ関数の呼び出し
callbackObject->callbackFunction(data);
}
};
以上で、コールバックメンバ関数を使用するための準備が整いました。次に、以下のようにコールバックを行うメインの関数を定義します。
int main() {
CallbackClass obj;
CallbackCaller caller;
caller.setCallbackObject(&obj);
caller.performCallback(42); // コールバックの実行
return 0;
}
上記のコードでは、CallbackClassのインスタンスを作成し、CallbackCallerのインスタンスにそのポインタを渡しています。そして、performCallback関数を呼び出すことで、CallbackClassのcallbackFunctionが実行されます。引数として42が渡されている例です。
このようにすることで、特定のイベントが発生した際に、コールバックメンバ関数が自動的に呼び出される仕組みを実現することができます。
以上が、C++におけるコールバックメンバ関数の使用方法と例の解説です。この方法を応用することで、様々なイベント駆動型のプログラムを柔軟に実装することができます。