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

  FORUM HardWare.fr
  Programmation
  C++

  operateur = besoin d'aide pour le comprendre

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

operateur = besoin d'aide pour le comprendre

n°882168
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 25-10-2004 à 16:22:48  profilanswer
 

:hello:  
J'ai besoin de pouvoir faire une affectation implicite d'un type objet vers un type int  
ex : entier = objet;
 
Si je surdefinis l'operateur suivant :  
int Cl_objet::operator = (const Cl_objet & objet)
 
La ca marche seulement si je fais de l'affectation multiple ex :
entier = objet = objet;
 
Si j'en definis un indépendament de ma class le compilo me met "must be a <unknow> member"
 
Si quelqu'un peut me venir en aide et me dire pourquoi ca ne fonctionne pas.
 
D'avance un grand merci

mood
Publicité
Posté le 25-10-2004 à 16:22:48  profilanswer
 

n°882187
cris56
Posté le 25-10-2004 à 16:29:15  profilanswer
 

je suis pas sur, mais je crois qu'il faut plutot redefinir un operateur de convertion implicite
 
dans ton cas pour le type int
 

Code :
  1. class Cl_objet
  2. {
  3. ...
  4. operator int() const
  5. {
  6. ...
  7. }
  8. };


 
 
edit : definir, pas redefinir  :ange:


Message édité par cris56 le 25-10-2004 à 16:34:13
n°882190
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 25-10-2004 à 16:30:51  profilanswer
 

je t'aime toi!
c'est pas con je test de suite!

n°882193
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 25-10-2004 à 16:31:45  profilanswer
 

en attendant que je test si quelqu'un a une autre idée ... sait-on jamais!

n°882206
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 25-10-2004 à 16:39:09  profilanswer
 

cris56  
as tu un example d'un operateur int ou autre type pour moi voir exactement car la j'ai un doute sur un truc :ange:

n°882221
cris56
Posté le 25-10-2004 à 16:49:51  profilanswer
 

edit : j'ai rien dit
edit : en gros tu retourne un int koi, tu bloque sur quoi ?


Message édité par cris56 le 25-10-2004 à 16:55:52
n°882239
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 25-10-2004 à 17:03:04  profilanswer
 

Merci cris ca marche!
Mais pour ce ki est de l'appel explicite c'est quoi dans le cadre d'un operateur int  
ex : operateur =
objet = objet;
objet.operator = (objet);
 
mais pour l'operateur int?
int = objet;
???


Message édité par C H A V E Z le 25-10-2004 à 17:05:45
n°882244
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 25-10-2004 à 17:07:36  profilanswer
 

ma question c 'est implicitement dans quels cas le compilo va faire appel a lui et comment ?

n°882246
Taz
bisounours-codeur
Posté le 25-10-2004 à 17:10:08  profilanswer
 

static_cast<int>(o);
ou bien int(o);

n°882247
Taz
bisounours-codeur
Posté le 25-10-2004 à 17:11:30  profilanswer
 
mood
Publicité
Posté le 25-10-2004 à 17:11:30  profilanswer
 

n°882249
cris56
Posté le 25-10-2004 à 17:12:29  profilanswer
 

c'est imlicite, il sera appeler si besoin et si il est defini
 
mais comme ca fais un de truc plus de caché aux yeux du programmeur, c'est assez peu aprecié il me semble

n°882251
Taz
bisounours-codeur
Posté le 25-10-2004 à 17:14:02  profilanswer
 

si la converstion est sure et bien définie, y a pas trop de problème.
 
par contre si comme la STL de MS, tu fais fais
string::operator const char *() const
 
qui à le même comportement que c_str() ... là tu va dans le mur

n°882257
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 25-10-2004 à 17:17:23  profilanswer
 

Taz a écrit :

static_cast<int>(o);
ou bien int(o);


 
excuse taz mais je ne te suis pas la...
tu peux reexpliqué   :??:

n°882258
cris56
Posté le 25-10-2004 à 17:17:28  profilanswer
 

Taz a écrit :


par contre si comme la STL de MS, tu fais fais
string::operator const char *() const
 
qui à le même comportement que c_str() ... là tu va dans le mur


 
oui, voila un exemple à eviter


Message édité par cris56 le 25-10-2004 à 17:18:06
n°882344
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 25-10-2004 à 18:49:26  profilanswer
 

depuis que j'ai mis l'operateur int j'ai un conflit entre mon operateur int et un constructeur Cl_objet (int) pour les operations d'additions ex:
objet = objet1 + entier;
 
il n'en veux pas sauf si je mets ca :
objet = int(objet1) + entier;
    ou
objet = objet1 + objet(entier);


Message édité par C H A V E Z le 25-10-2004 à 18:51:10
n°882345
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 25-10-2004 à 18:50:04  profilanswer
 

le probleme c est que je voudrais arrivé a pouvoir faire  
objet = objet1 + entier;
sans pour autant transtypé

n°882369
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 25-10-2004 à 19:04:16  profilanswer
 

dois je absolument surdefinr mon operateur +?

n°882379
KangOl
Profil : pointeur
Posté le 25-10-2004 à 19:10:49  profilanswer
 

c'est préférable...


---------------
Nos estans firs di nosse pitite patreye...
n°882381
Taz
bisounours-codeur
Posté le 25-10-2004 à 19:11:20  profilanswer
 

non. je sais pas ce que tu branles ... va voir le lien que j'ai filé et t'as pas besoin d'opérateur de conversion

n°883084
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 26-10-2004 à 14:44:34  profilanswer
 

autre question :
si je veux surdefinir les operateurs de comparaison ==, !=, > , < ,>=, <= dois je absolument les surdefinir tous?
 
ou alors == , >, < sont suffisent?


---------------
le roi de l'EDIT oui je sais :o / achète mb-D200
n°883089
cris56
Posté le 26-10-2004 à 14:47:28  profilanswer
 

ce sont des operateurs distincts

n°883110
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 26-10-2004 à 15:06:57  profilanswer
 

donc je suis obligé!  
arf merde...
merci cris


---------------
le roi de l'EDIT oui je sais :o / achète mb-D200
n°883145
Taz
bisounours-codeur
Posté le 26-10-2004 à 15:41:22  profilanswer
 
n°883217
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 26-10-2004 à 17:02:41  profilanswer
 

merci taz mais tu le redefinis quand meme  

Code :
  1. template<typename T>
  2. struct NotEqual
  3. {
  4.   bool operator!=(const T &rhs) const
  5.   {
  6.     return not (static_cast<const T&>(*this) == rhs);
  7.   }
  8. };


 
edit : j'ai rien dis


Message édité par C H A V E Z le 26-10-2004 à 17:10:19

---------------
le roi de l'EDIT oui je sais :o / achète mb-D200
n°883219
Taz
bisounours-codeur
Posté le 26-10-2004 à 17:04:12  profilanswer
 

j'abandonne ...

n°883221
cris56
Posté le 26-10-2004 à 17:04:23  profilanswer
 

ca definie un model pour plus avoir à le faire

n°883225
Taz
bisounours-codeur
Posté le 26-10-2004 à 17:05:20  profilanswer
 

y a personne qui sait lire ? y en a pas un pour cliquer sur le lien, première ligne du topic ?

n°883226
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 26-10-2004 à 17:05:45  profilanswer
 

http://membres.lycos.fr/sexyteam/az/smiley/kaio.gif


---------------
le roi de l'EDIT oui je sais :o / achète mb-D200
n°883230
Taz
bisounours-codeur
Posté le 26-10-2004 à 17:07:22  profilanswer
 

ça me fait pas marrer, ce topic est sans doute l'un des meilleurs que j'ai fait ...

n°883231
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 26-10-2004 à 17:09:33  profilanswer
 

je ne dis pas qu'il est nul au contraire mais ca fait un bout de temps que je n'ai plus fais du C++ il faut me laissé le temps de me souvenir de tout ;)


---------------
le roi de l'EDIT oui je sais :o / achète mb-D200
n°883235
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 26-10-2004 à 17:11:46  profilanswer
 

pour les cout y a t il moyen d'avoir un format ?
ex si je veux afficher 000001-245-131-46
et non 1-245-131-46


Message édité par C H A V E Z le 26-10-2004 à 17:11:57

---------------
le roi de l'EDIT oui je sais :o / achète mb-D200
n°883239
Taz
bisounours-codeur
Posté le 26-10-2004 à 17:15:53  profilanswer
 

C H A V E Z a écrit :

je ne dis pas qu'il est nul au contraire mais ca fait un bout de temps que je n'ai plus fais du C++ il faut me laissé le temps de me souvenir de tout ;)

mais t'as rien à te souvenir du tout, t'as juste à utiliser :o
 
cout : oui. Trouve toi de la doc

n°883246
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 26-10-2004 à 17:19:44  profilanswer
 

merci pour l'info ;)


---------------
le roi de l'EDIT oui je sais :o / achète mb-D200
n°883247
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 26-10-2004 à 17:20:33  profilanswer
 

ps : je prefere mettre quelque chose que je comprends completement pas toi !?


---------------
le roi de l'EDIT oui je sais :o / achète mb-D200
n°883249
Lam's
Profil: bas.
Posté le 26-10-2004 à 17:22:16  profilanswer
 

C H A V E Z a écrit :

pour les cout y a t il moyen d'avoir un format ?


Oui. http://juicystudio.com/tutorial/cpp/io.asp

n°883250
Taz
bisounours-codeur
Posté le 26-10-2004 à 17:22:59  profilanswer
 

c'est pourquoi ça que je fais des topics pour boolay. Sauf que t'es dans la catégorie des illétrés ... je peux rien y faire.
 
J'aurais même pas besoin de dire ça si tu l'avais lu.

n°883258
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 26-10-2004 à 17:29:24  profilanswer
 

Lam's MERCI ca m'a fait gagné du temps!


---------------
le roi de l'EDIT oui je sais :o / achète mb-D200
n°883260
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 26-10-2004 à 17:30:00  profilanswer
 

taz
et pourtant je l'ai lu :p


Message édité par C H A V E Z le 26-10-2004 à 17:32:47

---------------
le roi de l'EDIT oui je sais :o / achète mb-D200
n°883262
Taz
bisounours-codeur
Posté le 26-10-2004 à 17:33:04  profilanswer
 

mon œil. Y a tout dans le topic : quoi utiliser et une explication sur comment ça marche pour se décomplexer. Bon je me barre, je peux rien pour toi. Vouloir c'est pouvoir. Toi tu veux pas.

n°884212
C H A V E ​Z
Quis custodiet ipsos custodes?
Posté le 27-10-2004 à 18:35:08  profilanswer
 

Taz ca marche au poil, j'ai recherché ce que je ne comprenais pas et la ca tourne impec! Merci


---------------
le roi de l'EDIT oui je sais :o / achète mb-D200
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

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

  operateur = besoin d'aide pour le comprendre

 

Sujets relatifs
Aide sur findfirst findnextBesoin d'un pro d'ACCESS, réalisation base de données...
[CSS]Besoin D'aide[HTML/Javasript] Aide pour un compte à rebours SVP
écouter une radio via flash a l'aide SVPBesoin de connaitre systeme de cryptage et decrypter un .bin possible?
Demande d'aide en php sur les listes déroulantes[PHP] Aide pour compréhension du code.... <<<EOF ??
Aide sur un regexp. 
Plus de sujets relatifs à : operateur = besoin d'aide pour le comprendre


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