我有兩個函子:C++傳遞的功能,一個功能使用仿函數
class SFunctor {
public:
SFunctor(double a) { _a = a; }
double operator() (double t) { return _a * sin(t); }
private:
double _a;
};
class CFunctor {
public:
CFunctor(double b) { _b = b; }
double operator() (double t) { return _b * cos(t); }
private:
double _b;
};
我想傳遞一個或另一個的這些功能到另一個功能:
double squarer(double x, ??______?? func) {
double y = func(x);
return y * y;
}
以我主程序我想打這樣的電話:
CFunctor sine(2.);
SFunctor cosine(4.);
double x= 0.5;
double s = squarer(x, sine);
double c = squarer(x, cosine);
如何指定功能的基金,也就是在它前面發生的事情的地方_ ?? ?
+1好工作! :) – 0x499602D2 2013-04-25 20:35:10