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

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Surcharge d'operateur


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

Surcharge d'operateur

mercredi 25 août 2004 à 19:04:05 | Surcharge d'operateur

jfk20004



Est il possible de m'expliquer clairement la surcharge
d'operateurs:
Ce que je sais :
souvent utilisé dans les redefinition de classes
mathematiques.
PROB :je ne vois pas l'interet de modifier un operateur
MERCI
mercredi 25 août 2004 à 20:30:22 | Re : Surcharge d'operateur

leprov

exemple : les string. on a surchargé l'operateur + afin qu'il concatene les chaines. on a surchargé l'operateur < afin de pouvoir comparer deux chaines dans leur ordre alphabetique. par defaut, quand tu fais une classe, tu ne peut pas comparer deux objets de cette classe.....mais si tu as besoin de les trier? comment fait tu si les objets de ta classe ne sont pas comparables???????? ensuite l'operateur =..........imagine que tu utilise des pointeurs dans ta classe (i faut savoir que l'operateur = est donné a ta classe par le compilateur). ta classe est ecrite ainsi :

maclasse
{
char * tab;

}

tu crée deux objets de maclasse, et tu fais

obj1 = obj2.

tu n'as pas créé deux objets différents, tu as deux pointeurs sur le meme objet. dans certains cas ca va mettre la merde. exemple :

int main (void)
{
maclasse obj1;
obj1 = "truc";
{
maclasse obj2 = obj1;
obj2 = "truc2";
}
}
la obj1 pointe sur un nimporte koi : obj1 et obj2 vallent tous les 2 truc2 alors kon voudrait que obj1 vale truc et que obj2 vale truc2....
et on peut encore trouver plein d'interets
jeudi 26 août 2004 à 10:54:17 | Re : Surcharge d'operateur

djl

oui, comme l'a dit leprov, la forme canonique d'une classe (qui doit etre redefinie si des donnée membre sont allouées dynamiquement) comprend l'operateur d'affection

comme pour les operateur + - * ... ca peut etre tre pratique de les redefinir

par exemple

struct Foo
{
int a,b;
};

inline std::ostream& operator << ( std::ostream& o, const Foo& f )
{
return o << f.a << ' ' << f.b;
}

tu pourras faire directement

Foo f;
...

std::cout << f << ' \n';


les possibilités sont vraiment enorme, tu peux redefinir tous les operateur sauf ::, ., .*, ?:, sizeof, typeid, static_cast, dynamic_cast, const_cast et reinterpret_cast
vendredi 10 septembre 2004 à 20:25:05 | Re : Surcharge d'operateur

magic_Nono

Membre Club
djl> saurais tu m'éclairé sur la signification de .* ??



Magic Nono: l'informagicien!
vendredi 10 septembre 2004 à 20:25:08 | Re : Surcharge d'operateur

magic_Nono

Membre Club
djl> saurais tu m'éclairé sur la signification de .* ??



Magic Nono: l'informagicien!
vendredi 10 septembre 2004 à 20:32:42 | Re : Surcharge d'operateur

djl

c'est l'operateur qui permet d'appeler un pointeur de foncctions membres
vendredi 10 septembre 2004 à 20:34:23 | Re : Surcharge d'operateur

djl

je precise ausssi que dans la liste, l'operateur , n'en fais pas partie (pas facile a voir :) )
vendredi 10 septembre 2004 à 20:42:23 | Re : Surcharge d'operateur

magic_Nono

Membre Club
appel de ptr de fonction ie ;

un des membre public est un ptr sur fonc

et C pr l'appeler?


Magic Nono: l'informagicien!
vendredi 10 septembre 2004 à 20:57:12 | Re : Surcharge d'operateur

djl

oui un membre, pas forcement public
samedi 11 septembre 2004 à 12:02:01 | Re : Surcharge d'operateur

leprov

euh......j'ai po compris moi, tu pourrais expliquer un peu plus clairement, et donner un ptit exemple?

1 2

Cette discussion est classée dans : surcharge, operateur


Répondre à ce message

Sujets en rapport avec ce message

surcharge d'operateur dans une classe [ par 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 surchar 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 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 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){ (-: Surcharge d'operateur :-) [ par Trepanator ] Salut,    j'aimerai savoir comment surcharger un operateur d'affectation de tableau générique.    j'ai déjà créé  dans mon .h le modèle suivant :    - question sur les surcharges et les fonctions amies en c++ [ par maymouna2008 ] salut tt le monde je veux que vous m expliquer et me donne des reponse ,svp c est urgent,  sur un programme en c++:c est un probleme d une fonction ma 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'opérateurs [ par dyroj ] Bonjour, En apprenant un cour sur le langage c++ je suis arriver au surcharge d'opérateurs. Je pence avoir compris le fonctionnement mais il y a quel


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 : 0,187 sec (4)

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