Please if somebody has the time and willingness to do this program in C++ I would be very happy and grateful.
Define a class Cubic that stores the coefficients of a polynomial of degree 3 in a dynamically allocated array of doubles. Supply the "big three" memory management functions. Use this class to demonstrate
(a) the difference between initialization
Cubic t = s;
and assignment operation
s = t;
(b) the fact that all constructed objects are automatically destroyed
(c) the fact that the copy constructor is invoked if an object is passed by value to a function
(d) the fact that the copy constructor is not invoked when a parameter is passed by reference
(e) the fact that the copy constructor is used to copy a return value to the caller.
Supply a member function which calculates the value of the polynomial for a given argument value. Overload + and - operators for addition and subtraction of two polynomials and the unary operator * which return true or false when the corresponding cubic function has or has not critical points. (We say that a function f(x) has a critical point z when its derivative has value null at this point, i.e. f '(z) = 0.) Overload the stream operators << and >>. Demonstrate all these functions and operators.