Fonction echange de valeur [Résolu]

krouks212 25 Messages postés mercredi 25 janvier 2006Date d'inscription 1 février 2008 Dernière intervention - 13 janv. 2007 à 21:22 - Dernière réponse : lhaut 1 Messages postés mardi 6 novembre 2007Date d'inscription 8 mai 2008 Dernière intervention
- 8 mai 2008 à 15:10
svp, je cherche a faire une fonction qui permet d'echanger 2 variables.

jai un exmple qui est faut, je veux savoir ou se trouve l'erreur

void swap(Object o1,Object o2)
{
Object temp;
temp=o1;
o1=o2;
o2=temp;}

merci d'avance
Afficher la suite 

2 réponses

Répondre au sujet
Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 13 janv. 2007 à 22:22
+3
Utile
Salut:

Je pense que tu dois passer par la méthode clone () de la classe Object.

De plus les classes des instances que tu vas passer en paramètre doivent implémenter l'interface Cloneable et redéfinir la méthode clone ().

void swap (Object a, Object b) {
   c = a.clone ();
   a = b.clone ();
   b = c.clone ();
}
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Ombitious_Developper
lhaut 1 Messages postés mardi 6 novembre 2007Date d'inscription 8 mai 2008 Dernière intervention - 8 mai 2008 à 15:10
0
Utile
tu ne peux pas faire

void swap(Object o1,Object o2) {
    Object temp;
    temp=o1;
    o1=o2;
    o2=temp;
}

main

void swap(Object o1,Object o2) {
    Object temp;
    temp=o1.clone();                     // mets une copie de o1 dans temp;
    o1=o2.clone();                        // mets une copie de o2 dans 01;
    o2=temp;                                // fais pointer o2 sur temp (soit la premiere valeur de 01).
}

attention tu dois redefinir clone() qui est protected dans la classe Object
Commenter la réponse de lhaut

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.