多项式的导数(c++)

Derivative of the polynomial (c++)

本文关键字:c++ 多项式      更新时间:2023-10-16

我希望创建一个简单的c++程序,其中有一个名为多项式的类。它将创建一个动态数组,其中包含6个数据,每个1的索引是项的指数,它的值是系数。一切都很好,直到我面对它。重载的成员函数+运算符(前缀),它将查找并返回多项式的导数。

在那里,我真的不明白他们期望我做什么。在构造函数中,我将数组大小设置为6,因为我将被使用。例如;在运行时,我将像这样命令多项式:7.4x^5+3.1x^2-10.2x+14.9它会给出它的导数。正是我所要求的,不是所有的代码下来,但逻辑与+操作符重载。除此之外,我对我的程序没有任何问题。

假设您的类命名为Polynomial,您可以像下面这样重载前缀自增操作符:

class Polynomial {
...
public:
...
  Polynomial& operator++()
  {
  /* transform the polynomial to its derivative here */
  /* the new polynomial will have -1 coefficients from the original */
  return *this;
  }
...
};

,那么在代码中可以做以下操作:

Polynomial poly(...);
++poly;

HTH

根据我们从评论中收集到的信息,您需要的是提供unary + operator的成员重载。该操作符的工作方式如下:

Polynomial poly = Polynomial( /*initialise*/ );
Polynomial derivative;
derivative = +poly;

也就是说,它作用于一个多项式并返回一个新的多项式作为它的导数

要求将其声明为类的成员,因此这意味着您需要在类定义中添加以下内容(作为公共成员):
Polynomial operator+();

然后在你的源文件中你需要实现它;这段代码的框架:

Polynomial Polynomial::operator+()
{
    Polynomial derivative;
    /* TODO: Set the derivative's coefficients to the derived coefficients of this */
    return derivative;
}

现在这段代码需要你有一个copy constructor实现。如果你还没有这个,或者不知道如何做到这一点,你不能自己找到答案,那么请发布一个新的问题。