Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
990 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  problème surcharge opérateur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème surcharge opérateur

n°1853385
mario63
Posté le 20-02-2009 à 12:58:45  profilanswer
 

Bonjour tout le monde. Je suis perdu. Je comprends rien au surcharge d'opérateur. J'ai une structure:

Code :
  1. struct Polynome
  2. {
  3. int degree;
  4. int* coef;
  5. }


 
 
et je dois surcharger les opérateurs =,==...
bref pour le = j'ai fait

Code :
  1. Polynome & operator = (const Polynome &p)
  2. {
  3. if(&t!=this)
  4. {
  5. degree=p.degree;
  6. coef=p.coef;
  7. }
  8. return * this;
  9. }


Voila ça compile mais comment savoir si ça marche vraiment?Je dois mettre quoi dans le main pour tester?
 
Puis pour le ==

Code :
  1. bool operator== (const Polynome &p1,const Polynome &p2)
  2. {
  3. if (p1.degree==p2.degree && p1.coef==p2.coef)
  4. return true;
  5. else
  6. return false;
  7. }


Or le compilateur me dit que le == ne prend qu'un seul paramètre.Pourtant dans mes autres exos il y en a deux. Puis je dois aussi avoir une erreur avec le p1.coeff==p2.coeff, je sais pas comment faire avec le int* coeff.
Si quelqu'un pouvait un pauvre newbie comme moi je le en serais très reconnaissant.Merci pour votre aide.
 
Mario63


Message édité par mario63 le 20-02-2009 à 12:59:51
mood
Publicité
Posté le 20-02-2009 à 12:58:45  profilanswer
 

n°1853390
Elmoricq
Modérateur
Posté le 20-02-2009 à 13:12:20  profilanswer
 
n°1853400
mario63
Posté le 20-02-2009 à 13:50:37  profilanswer
 

Merci pour ta réponse rapide Elmoricq mais ça ne m'aide pas beaucoup. J'ai beau avoir lu tout le lien que tu m'as passés je comprends toujours pas comment régler mon problème.

n°1853401
Joel F
Real men use unique_ptr
Posté le 20-02-2009 à 13:55:24  profilanswer
 

les operateurs binaires sont en general des fonctions libres et non des methodes. Si c'est une methode, elle a un parametere implicite (this) et ne prend donc qu'un parametre.
Ton code est aussi faux : pas de forme cannoqiue de coplien, tu comapres des poineturs et non les contenu,etc.
utilise std::vector, std::transform et std::copy plutto que tes poitneurs foireux.

 

Quel ecole/fac que je la rajoute à ma liste noire ?


Message édité par Joel F le 20-02-2009 à 14:02:18

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  problème surcharge opérateur

 

Sujets relatifs
Javascript + probleme lors du chargement d'une pageProblème de formule... pourtant toute simple
[PHP] Problème lors de création d'un blog Wordpress[PERL]probleme avec boucle For
Probleme 1and1 et Asido ..?CSS problème de roll over en couleur ....
Problème placement de boite en CSSProbleme de surcharge d'opérateur et de fonction amies
[C++] Problème de surcharge d'opérateurProbleme heritage/surcharge d'operateur
Plus de sujets relatifs à : problème surcharge opérateur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR