次のコードを書きました。
#include <iostream>
using namespace std ;
class C{
public:
C::C(int) ;
int f1(int);
int f2(int);
int (*f)(int);
}
int C::f1(int x){
return -x ;
}
int C::f2(int x){
return x;
}
C::C(int c){
if (c<0){
f = f1 ;
}
else {
f = f2 ;
}
}
このコードは機能しませんが、コンストラクターに渡される値に応じて、メソッドを toまたは tof
に割り当てるという考え方です。f1
f2
C++でこれを達成するにはどうすればよいですか?