Ho questa classe:
codice:
class CPolynom
{
private:
int degree;
double * coeff;
public:
CPolynom(const CPolynom &);
CPolynom(int d) {coeff = new double[d+1]; degree=d;};
virtual ~CPolynom() {delete [] coeff;};
int get Degree() const {return degree;};
double* getCoeff() const {return coeff;};
CPolynom deriv() const;
CPolynom multiply(const CPolynom& p) const;
}
E mi è stato dato questo costruttore che non capisco però:
codice:
CPolynom::CPolynom(const CPolynom & p){
degree = p.getDegree();
coeff = new double[degree+1];
double* coeff2 = p.getCoeff();
for(int i=0; i<=degree; i++) coeff[i]=coeff2[i];
}
Il mio esercizio è di implementare la funzione:
codice:
CPolynom CPolynom::deriv() const.
Che deve fare la derivata di un polinomio (per esempio 10x^3 + 10x^2 + 11x + 2 deve diventare 30x^2+38x+11).
Solo che non so da dove partire, non so dove li prendo i coefficienti e gli esponenti, e fatico anche a capire cosa vogliono dire diverse cose, tipo per esempio CPolynom::deriv() perchè usa questo tipo di scrittura? Cosa vuol dire?
Sono in alto mare, mi date qualche delucidazione?