我正在尝试创建一个能够找到函数数值推导的代码。 我还有一个多项式类描述如下:
class polynomial
{
public:
polynomial(Vector, int);
polynomial();
~polynomial();
double returnValue(double);
void print();
private:
int Degree;
Vector Coeficients;
};
我的数字推导有以下原型:
double numericalDerivation( double (*F) (double), double x);
我想将returnValue方法传递给numericDerivation,这可能吗?
答案 0 :(得分:0)
是的,这是可能的,但不要忘记它是成员函数:如果没有(指针)类型为{{1的对象的对象,则无法调用它在其上调用它。
以下是函数签名的外观:
polynomial
以下是调用它的方法:
double numericalDerivation(double (polynomial::*F)(double), polynomial* p, double x)
{
...
(p->*F)(x);
...
}
或者,您可以使用double d = ...;
polynomial p;
numericalDerivation(&polynomial::returnValue, &p, d);
对象作为函数的参数,让std::function<>
负责将对象绑定到成员函数:
std::bind()