Renvoyer un objet - C++ - Programmation
Marsh Posté le 29-04-2004 à 18:07:58
ben si t'initialises pas les char* (taz va te tapper ) de ton nouvel objet temp, je crois bien que forcement il vont valoir du n'importe quoi...
Marsh Posté le 29-04-2004 à 18:11:42
Le problème ne vient pas de là, car ils sont initialisés (j'ai quelque peu tronqué la fonction). Ce qui me laisse perplexe c'est que des attributs des deux objets aCarte et aCarte2 sont modifiés en des chaînes de carac de *ù%!;
Marsh Posté le 29-04-2004 à 18:15:36
hum, je sais pas trop...
fait voir toute la fonction...
et pis passe tes objets par reference plutot que par valeur
Marsh Posté le 29-04-2004 à 18:32:35
Voila all my code un peu modif mais qui devrait marcher :
[i]carte carte :: operator+(const carte& aCarte) {
carte * temp =new carte(aCarte.col,this->val + aCarte.val,"" );
return * temp;
}
[\i]
Marsh Posté le 29-04-2004 à 18:34:32
oui ca me semble plus correct, mais avec un carte* au lieu de carte pour le type de retour ca sera mieux
Marsh Posté le 29-04-2004 à 18:38:21
ouuuuuuuups je n'ai rien dit
bon et donc ca marche maintenant ?
Marsh Posté le 29-04-2004 à 18:42:25
Yep !!!! Je suis un lutteur professionnel !! lol et merci beaucoup pour ton aide ... j'ai un tout ptit test qui décidera de mon avenir demain, et comme je suis plus rouillé en objet, c rassurant de voir qu'on peut encore compter sur quelques presonnes ! Merci Beaucoup encore une fois
Marsh Posté le 29-04-2004 à 18:46:56
bof j'ai rien fait à part poser des questions
c'est quoi le test ?
Marsh Posté le 29-04-2004 à 18:49:57
En gros ca ne doit durer qu'une heure et ca devrait correspondre à une implémentation de classe. Si c du classique avec un peu de surcharge, ca devrait passer car je ne suis pas complètement rouillé. Mais si ca va chercher un peu trop loin, je suis un peu dans la mouize ... et comme je chôme depuis quelques temps déjà, je mise beaucoup dessus !
Marsh Posté le 29-04-2004 à 19:49:38
dis donc luminou ... t'enchaine connerie sur connerie ?
Code :
|
fait gaffe, ce doit être une fonction globale
Marsh Posté le 29-04-2004 à 21:15:35
C clair que je suis un deconneur !!! lol
Mais il faut bien quelqu'un pour faire tourner le forum à plein régime non ????
Marsh Posté le 29-04-2004 à 21:41:31
Taz a écrit : dis donc luminou ... t'enchaine connerie sur connerie ?
|
ahahah faux !!!
aCarte2 et aCarte !? ca devrais pas être rigth et left ?
Marsh Posté le 29-04-2004 à 18:02:53
Bonjour !
J'ai surchargé un opérateur + pour additionner deux objets de ma création. Ca a pour but d'additioner les deux valeurs numériques de l'objet (qui contient également comme attribut des char *). Voici le corps de ma surcharge sachant que l'objet renvoyé est correct pour la valeur numérique, mais que les char * sont complètement modifiés !!! A koi cela est il du ? et pardon pour mon incultivisme !
carte operator+(const carte aCarte, const carte aCarte2) {
const carte temp = carte(aCarte2.col,aCarte.val + aCarte2.val, aCarte2.figure);
return temp;
}
jusqu'au return tout est ok mais une fois qu'il est exécuté tout est bad ...! Merci d'avance