Bonjour
Un polynôme est représenté par un tableau de ses coefficients. Le coefficient du monôme de degré i est rangé dans l’élément de rang i du tableau des coefficients.
on est arrivé a la surdefinition de l'operateur +, voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 class Polynome{ friend Ostream& operator<<(ostream&, const Polynome&); friend istream& operator>>(istream&, Polynome&); private: int taille; double* coefficients; public: Polynome(); Polynome(int); Polynome(Polynome&); ~Polynome() ; void set_taille(int) ; void set_coefficients(double* ) ; int get_taille( ) ; double* get_coefficients( ); int degre(); double coefAt(int) ; Polynome operator+( const Polynome& ); Polynome operator*(const Polynome& p); Polynome operator*(double); bool operator==( const Polynome& ); const Polynome& operator=(const Polynome&); Polynome operator+=(const Polynome& ); Polynome operator*=(const Polynome& ); double calculValPolynome(double); };mais il donne une erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Polynome Polynome:: operator+( const Polynome& p){ Polynome pp; if(this->taille>=p.taille) pp.taille=this->taille; else pp.taille=p.taille; int i=0; while(i<pp.taille){ pp.cf[i]=coefAt(i)+p.coefAt(i); i++; } return pp; }
error C2662: 'coefAt' : cannot convert 'this' pointer from 'const class Polynome' to 'class Polynome &'Conversion loses qualifiers
NB:la méthode coefAt(int i) retourne la valeur du coefficient de rang i.
Partager