我搬到了新的大学。在我的旧程序中,我们非常关注Java,但是在新的Uni中我们非常关注C ++并且没有介绍性课程。我正在阅读C ++教程以熟悉,但我想完成这项任务。
基本上我们需要编写一个计算数值导数的程序,这不是问题我只是不完全理解给定的代码:
我们需要使用两个概念:多态和回调
代码:
double myfunction(const double x){
...
}
class Der{
...
};
int main(){
double x, h;
Der::derivative(Der(),x,h)
Der::derivative(myfunction,x,h)
derivative(Der(),x,h)
derivative(myfunction,x,h)
return 0;
}
好的,所以前两个调用我不明白什么Der()
意味着我们在这里传递的内容看起来不像一个对象的实例。我熟悉将函数作为参数传递,但不完全确定为什么要传递的对象或函数不应该方法derivative
从x, h
参数计算它。
在后两行中,我不确定这是什么意思?如果我需要另一个derivative
函数而不是myFunction
的目的?
答案 0 :(得分:0)
我不明白Der()的含义。
Der
这是班级的名称。您正在致电derivative()
班Der
。您需要这样做,因为没有创建类Der
的实例(提示:这意味着derivative()
是一个静态函数(阅读更多here)!!)。
如果我需要另一个衍生函数而不是myFunction的目的?
我们无法确定,因为您没有显示任何实现,但derivative()
似乎是一个函数,它将另一个函数作为参数并执行它,从而导致不同的操作。
我知道Der()是不确定为什么它被传递给Der :: derivative(..)以及为什么作为Der()而不是一个包含它的实例的变量。
嗯,Der()
是一个构造函数,你需要传递它,因为derivative()
将函数作为第一个参数。目的是什么?我们现在所知道的未知。