begin process at 2012 05 30 04:37:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

surcharge d'operateur dans une classe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

surcharge d'operateur dans une classe

jeudi 26 août 2004 à 13:12:45 | surcharge d'operateur dans une classe

jfk20004


Est ce que la surcharge d'operateur intervient chaque fois que l 'on definit une classe.Franchement je n'ai pas encore capté le
pourquoi de la surcharge
.Si quelqu'un pouvait me l'expliquer comme si j'avais 2 ans!!!merci
jeudi 26 août 2004 à 13:59:08 | Re : surcharge d'operateur dans une classe

DevGizmo

En fait il faut que ta classe "surcharge" l'operateur que tu veux...en aucun cas il intervient seul: il faut le preciser en faisant des methode de surcharge d'operateur.

La surcharge d'operateur c'est quoi: "C'est un joli mot" ;)))
C'est simple:
Prenons une classe Point qui permet de faire des operations basique sur x et y.
Si tu as envie que deux objets de type Point puisse s'ajouter en utilisant l'operateur arithmetique "+" il faut "surcharger" cet operateur de maniere a ce que le compilateur comprenne que ce n'est pas un "+" classique, qui prend deux element et qui les ajoute. Mais bel et bien un + entre les x et un + entre les y
Pour ce faire dans ta classe, sur la "surcharge" de l'opeateur +, tu fera de maniere explicite un + sur les x et un + sur les y.
Au final quand tu voudras ajouter deux points, tu fera simplement un "+" classique...et ca se debrouillera tout seul; si les deux objets sont de type Point.
Attention tout de meme la surcharge d'operateur, c'est bien joli mais quand le source contient enormement de classe qui herite d'autre classe; ca devient vite le bordel...!!!!

J'espere avoir ete assez clair....je ne pense pas mais bon, on sait jamais...

@+
jeudi 26 août 2004 à 14:02:17 | Re : surcharge d'operateur dans une classe

djl

imagine que comme java, c++ ne supportent pas la surcharge des operateurs

tu fais ta classe Bidule

pour comparer 2 hinstances tu aurais alors de finie une methodes equal par exemple
bool Bidule::equal( const Bidule& b)

et tu ferais if( b1.equal( b2) ) ...

si tu profitais de la possibilité de surcharger les operateurs, tu pourrais faire if( b1 == b2 ) ...

la surcharge des operateurs peut etre d'abord vu comme un aspect pratique, mais c'est en realité une necessité pour rendre tes classes fonctionnel
imagine les conteneurs generique de la stl, par exemple pour les methode de tri, ca implique que l'objet contenu supporte certains operateurs de comparaisons (que ces operateurs aient été surcharger)

je te rappel aussi que la surcharge de l'operateur d'affection est obligatoire (redefinition du corps coplien) si tu veux proteger ta classe contre les fuites (si elle possedent des membres alloués dynamiquement)


Cette discussion est classée dans : classe, surcharge, operateur


Répondre à ce message

Sujets en rapport avec ce message

c++ -> surcharge d'ope et heritage ... [ par Alligokouax ] je suis vraiment au bord du suicide, j'ai exam dans trois jours ... et c la merdecomment peux on faire et est ce que cela existe :utiliser la surcharg operateur delete de classe via finalize [ par julojulo ] bonjour,je suis en train d'ecrire un prgm pour justifier un texte, je me sers d'une classe vecteur que j'ai cree (resemble a la classe vektor), je cre surcharge operateur de flux >> en c++ [ par kawito ] bonjour,je realise une classe Chaine en c++, et j'aimerais savoir comment surcharger l'operateur >> friend istream& operator>>(istream& i, Chaine& s){ prototype operateur classe [ par mat74 ] salut à tous voila je cherche un site ou je pourrais trouver les prototypes complet de chaque opérateur (+,-,*,/,%,=,==.....) d'une classemerci Surcharge d'operateur [ par jfk20004 ] Est il possible de m'expliquer clairement la surcharge d'operateurs:Ce que je sais :souvent utilisé dans les redefinition de classes mathematiques.PRO Classe & Operateur sous .NET [ par Joky ] Décidement ce logiciel me pose quelques soucis !!!Lorsque je déclarer mes operator sous VC6.0 il ne me disait rien, et la il tape une ptite crise :/ f La surcharge de l'opérateur ++ sur un pointeur de classe Node [ par nord666 ] Bonjour à tous,J'ai un problème avec la surcharge de l'opérateur ++ sur un pointeur de classe Node.Je veux que ++ptrNode ou quelque chose d'identique Surcharge d'operateur [ par AngeloVivaldi ] Salut, je voudrai redefinir cout dans de iostream.h pour qu'il affiche un membre de ma class au lieu d'afficher l'adresse de l'objet :Par exemple, pou surcharge de l'operateur ">>" du cin [ par pounch ] bon voila mon problemej'aimerai parser une ligne de commande grace au cin et afficher un prompt lorsque j'ai fini de parser. Mais le cin n'a pas de me Constructeur par copie / surcharge de l'operateur = [ par tanguy_laverdure ] Quelqu'un pourrait il me dire la difference entre le Constructeur par copie et la surcharge de l'operateur = ?Pour par part, j'ai un Objet CSolution


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,323 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales