Производная полинома (c ++)

Ожидается, что я создам простую программу на C ++, у которой есть класс с именем polynomial.
Это создаст динамический массив, содержащий 6 данных, и каждый индекс имеет показатель степени, а его значение — коэффициент.
Все хорошо, пока я не сталкиваюсь с этим:
msgstr «перегружена функция-член + оператор (префикс), который найдет и вернет производную полинома».

Там я действительно не мог понять, что от меня ожидать. В конструкторе я установил размер моего массива равным 6, как я буду использовать.
Например; во время выполнения я буду командовать полиномом как: 7.4x ^ 5 + 3.1x ^ 2-10.2x + 14.9, и он даст мне производную от него.
Именно то, что я спрашиваю, что не все коды не работают, а логика с перегрузкой оператора +. Помимо этого, у меня нет проблем с моей программой.

-2

Решение

Предполагается, что ваш класс назван 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;

НТН

0

Другие решения

С учетом того, что мы смогли извлечь из комментариев, вам нужно обеспечить перегрузку членов 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 реализованы. Если у вас этого еще нет или вы не знаете, как это сделать, и вы не можете найти ответ самостоятельно, пожалуйста, напишите новый вопрос. Иметь ввиду правило трех.

0

По вопросам рекламы [email protected]