/**********************************************************************
 * I expect you to add appropriate documentation to this code.
 **********************************************************************/

#ifndef __POLYNOMIAL_H
#define __POLYNOMIAL_H

#include "list.h"

class Polynomial
{
 private:
   List L;
   int degree;

 public:
   Polynomial(void) : degree(-1) {}
   Polynomial(const Polynomial& b);
   const Polynomial& operator=(const Polynomial& b);

   int Degree(void) const;
   int SetCoefficient(int exp, double co);
   int RetrieveCoefficient(int exp, double& co) const;
   void Print(void) const;
   const Polynomial operator+(const Polynomial& b) const;
   const Polynomial operator-(const Polynomial& b) const;
   const Polynomial operator*(const Polynomial& b) const;
};

#endif
