The following polynomial class does not complie. I want whatever errors in these
ID: 3605658 • Letter: T
Question
The following polynomial class does not complie. I want whatever errors in these three files below to be fixed in order for the class to compile. See the pic if you want to know what class is about. Deadline submission is less than 6 hours and I need it compiling properly before that.
1) The Polynomial.h file
2) The Polynomial.cc file:
2) The poly_test file:
#include "Polynomial.h"
#include
using namespace std;
int main()
{
double val;
Polynom poly1, poly2, poly3,poly4;
vector coeff1 {9,0,0,3,-1,-2};
poly1 = new Polynom(coeff);
cout << "Poly1 is: " << poly1 << endl;
val = poly1(2);
cout << "Value of Poly1 at x = 2 is: " << val << endl;
val = poly1(1);
cout << "Value of Poly1 at x = 1 is: " << val << endl;
vector coeff2 {1,0,2,0,-1,0,-3,0};
poly2 = new Polynom(coeff);
cout << "Poly2 is: " << poly2 << endl;
val = poly2(1);
cout << "Value of Poly2 at x = 1 is: " << val << endl;
poly3 = poly1 + poly2;
cout << "Poly3, which is the sum of Poly1 and Poly2, is: " << poly3 << endl;
val = poly3(1);
cout << "Value of Poly3 at x = 1 is: " << val << endl;
poly4 = poly1 - poly2;
cout << "Poly4, which is the difference of Poly1 and Poly2, is: " << poly4 << endl;
val = poly4(1);
cout << "Value of Poly4 at x = 1 is: " << val << endl;
return 0;
}
Explanation / Answer
#define POLYNOM_H
#include <vector>
#include <iostream>
using namespace std;
class Polynom {
public:
// Postcondition: Creates an "empty" polynomial
Polynom();
// Postcondition: Creates a polynomial with coefficients provided in the vector parameter;
// the degree of the polynomial is the size of the vector plus 1
Polynom(const vector<int>& coeff);
// Basic arithmetic operations:
// Operator +
// Postcondition: The sum of this polynomial and RHS is returned; this
// and RHS are unchanged
const Polynom& operator+(const Polynom& RHS) const;
// Operator -
// Postcondition: The RHS is subtracted from this and the result is returned; this
// and RHS are unchanged
const Polynom& operator-(const Polynom& RHS) const;
// Evaluation;
// Operator ()
// Postcondition: this polynomial is evaluated at x and the the value
// is returned; this polynomial is unchanged
double operator()(double x) const;
// Set the coefficient of x^k
// Precondition: k >= 0 and k <= n, where n is the degree of this polynomial
// Postcondition: If precondition is met, then coefficient of x^k is changed to
// c and returns true; otherwise no change is made and returns false;
bool setCoeff(int k, int c);
// Get the coefficient of x^k
// Precondition: k >= 0 and k <= n, where n is the degree of this polynomial
// Postcondition: If precondition is met, then the function assigns the
// coefficient of x^k in parameter c and return true;
// otherwise returns false and parameter c remains unchanged
bool getCoeff(int k, int& c);
// Stream insertion
// Postcondition: Write the polynomial onto stream ostr.
ostream& insert(ostream& ostr);
private:
vector<int> P; // coefficients of the polynomial; P[i] is the coefficient
// of x raised to power i;
};
// overloaded stream to write the polynomial RHS onto stream Out
ostream& operator<<(ostream& Out, const Polynom& RHS);
#endif
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.