※ ChatGPTを利用し、要約された質問です(原文:関数ポインタ?)
関数ポインタとは?
このQ&Aのポイント
関数ポインタとは、staticでないメンバ関数を指定するためのポインタのことです。
C++では、メンバ関数を指すためにはそのクラスのオブジェクトが必要です。
関数ポインタは、メンバ関数とオブジェクトを組み合わせて使用することで、メンバ関数を呼び出すことができます。
下記のようにstaticでないメンバ関数を
関数ポインタのように指定できることを最近知ったのですが
下記コードにでてくるfpは一般的に何と呼ばれるのでしょうか?
これも「関数ポインタ」で良いのでしょうか?
この事について調べたかったのですが、呼び方がわからず
検索できなかったのでここで質問している次第です。宜しくお願い致します。
#include <iostream>
class CTest{
public:
int a;
CTest(int _a){ a=_a;}
int fnc(int test){
return a + test;
}
};
int main()
{
CTest* test = new CTest(3);
int (CTest::*fp)(int) = &CTest::fnc;
std::cout << (test->*fp)(5) << std::endl;
return 0;
}
お礼
「メンバ関数ポインタ」で検索できました。 ありがとうございます。