this is my current error
poly.cpp(146): error C2679: binary '*' : no operator found which takes a right-hand operand of type 'int' (or there is no acceptable conversion)
1> poly.cpp(18): could be 'Polynomial Polynomial::operator *(Polynomial)'
1> while trying to match the argument list '(Polynomial, int)'

Assuming degree is the largest exponent in the polynomial associated with a nonzero coeffieient then the degree of the product is the sum of the degrees of the two polynomials being multiplied together. Multiplication involes multiply each term of one polynomial by each term of the other. Each individual product term thus produced has the coefficient of p1.coeff * p2.coeff and the exponent is the sum of p1.exp + p2.exp. Once all of the individual product terms have been generated you can simplify the polynomial by adding the coefficients of each term with the same exponent, or you can simplify as you go by setting the coefficients of each term in the product to zero before you start multiplying terms and add each exponent to the current value of the coefficient of the appropriate term as it is generated. Using a nested loop is probably the most efficient way I know of to generate each of the product terms.