掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
変数?に関数を代入するには? (ID:72386)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
クラスのメンバ関数を指定する場合、かならずインスタンスが必要になります。 (static関数ならいらないけど) 以下適当なサンプル struct Hoge { int x; Hoge(int n) : x(n) {} int Add(int y) { return x + y; } int Sub(int y) { return x - y; } }; struct Moge { Hoge* pHoge; int (Hoge::*pCalculater)(int); void SetCalculater(Hoge* p, int (Hoge::*pFunc)(int)) { pHoge = p; pCalculater = pFunc; } int Calculate(int y) { return (pHoge->*pCalculater)(y); } }; int main() { Hoge h(10); Moge m; m.SetCalculater(&h, &Hoge::Add); int z = m.Calculate(10); // z = 20 m.SetCalculater(&h, &Hoge::Sub); z = m.Calculate(10); // z = 0 return 0; }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.