我不知道如何从构造函数上传递的函数指针初始化成员函数.. 我的类有一个成员函数RHS,它改变了差分问题的函数..所以我需要在构造函数中传递一个函数! 什么是正确的方法?从函数指针初始化成员函数
class RhsOdeProblem
{
public:
// constructor without alalitical solution
constexpr RhsOdeProblem (double (*rhs)(double, double),
double, double, double, double) noexcept ;
virtual ~RhsOdeProblem() noexcept = default ;
RhsOdeProblem(const RhsOdeProblem&) noexcept = default;
RhsOdeProblem(RhsOdeProblem&&) noexcept = default ;
double RHS(double, double);
double AnaSol();
double dxdt(double, double);
void setRhs(double (*rhs)(double, double));
void setAnaliticalSolution(double (*realSol)(double,double));
double startTime ;
double endTime ;
double dt ;
double initValue ;
constexpr static double eps = 10e-8 ;
bool analiticalSolution ;
};
constexpr RhsOdeProblem::RhsOdeProblem (double (*rhs)(double, double),
double ti,
double tf,
double dt,
double y0) noexcept : startTime{ti}, endTime{tf},
dt{dt} , initValue{y0} ,
analiticalSolution{false}
{
setRhs(rhs);
}
我如何定义setRhs?或者哪个是最好的方法? 在此先感谢
您无法设置成员函数 - 事实。最多你可以让'RHS'成为一个常规的函数指针。 – StoryTeller