Probleme de passage d'argument

dr971 Messages postés 27 Date d'inscription mardi 6 mars 2007 Statut Membre Dernière intervention 26 juillet 2007 - 4 avril 2007 à 16:43
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 - 5 avril 2007 à 22:20
Bonjour , j'ai un petit prob (plutot un gros)

En fait j'ai une class A et une class B

classA
{
   public :
        void setResistance(int);         //mutateur
        int getResistance();               //accesseur
   private:
        int m_resistance;
};

classB
{
    public :
       void petitprog(int res)
      {
            res=res-2;
      }
}

Dans mon main j'ai :
 A elementa;
 B elementb;

et je veux faire
elementb.petitprog(elementa.getResistance( ));

Mon probleme est ke je voudrais que la valeur de m_resistance change mais ce n'est pas le cas.
Pouvez vous m'aider?? merci d'avance

    

4 réponses

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
4 avril 2007 à 17:12
classA
{
   public :
        void setResistance(int);         //mutateur
        int & getResistance() { return m_resistance; }               //accesseur
   private:
        int m_resistance;
};

classB
{
    public :
       void petitprog(int & res)
      {
            res=res-2;
      }
}

Et la, la valeur changera.
0
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
4 avril 2007 à 20:52
Autre solution...
(pour ne pas enfreindre les directives sur les accesseurs)

void petitprog(classA &objet)
{
            objet.setResistance(objet.getResistance()-2);
}
0
dr971 Messages postés 27 Date d'inscription mardi 6 mars 2007 Statut Membre Dernière intervention 26 juillet 2007
5 avril 2007 à 19:27
merci de votre aide
Mais j'avais oublié de préciser ke la classe Adérive de la classe B. ca change un truc?
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
5 avril 2007 à 22:20
Si une classe dérive d'une autre, alors elle possède au moins les memes membres, donc t'as pas besoin de fonction. Ptet que tu devrais te plonger dans la doc.
0
Rejoignez-nous