いちばんやさしいゲームの作り方

文系の人でも、数理学がわからない人でもゲームプログラミングをマスターできるブログ

メンバ関数へのポインタを取得するためには、次のようにします。

void (SomeClass::*pointer)() = &SomeClass::someMethod;

以下、例です。

#include <iostream>


class SomeClass
{
public:
  void someMethod()
  {
    std::cout <<"ポインタ経由でメソッドを読んでみた" <<std::endl;
  }
};

int main(int argc, char *argv[])
{
  void (SomeClass::*pointer)() = &SomeClass::someMethod;

  SomeClass *instance = new SomeClass();

  (instance->*pointer)(); // ポインタ経由でメソッドを読んでみた

  delete instance;

  return 0;
}

「す、すごい、これは応用範囲が広そうだ!」と思う前に、ポリモーフィズムを検討しましょう。C言語の関数ポインタと同じ文脈で使わない方が良いと思います。

Contributions




Trackback URL

メルマガ登録・解除
 
挫折不可能!初級ゲームプログラミング完全マニュアル
RSS track feedいちばんやさしいゲームの作り方 カウンター
ブログSEO対策:track word あわせて読みたい SEO STATUS