IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

[Langage] Surdefinition des operateurs dans c++


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 38
    Par défaut [Langage] Surdefinition des operateurs dans c++
    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.
    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);
    };
    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
    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;
    }
    mais il donne une erreur:
    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.

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Tu n'as pas déclarées constantes les fonctions qui ne modifient pas tes instances...
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

Discussions similaires

  1. surdefinition des operateurs en java
    Par sabrinabest dans le forum Langage
    Réponses: 3
    Dernier message: 19/09/2007, 12h56
  2. [langage] Compter des éléments dans un tableau
    Par helene22500 dans le forum Langage
    Réponses: 29
    Dernier message: 23/05/2005, 11h38
  3. [langage] compter des caracteres dans une chaine
    Par louisis dans le forum Langage
    Réponses: 3
    Dernier message: 18/05/2004, 22h39
  4. [langage] Comment rajouter des champs dans une liste
    Par toto_titi dans le forum Langage
    Réponses: 4
    Dernier message: 28/08/2003, 14h09
  5. Réponses: 4
    Dernier message: 24/04/2003, 22h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo