A "friend" de B et B "friend" de A ->probleme de compilation

davypillet Messages postés 2 Date d'inscription samedi 23 décembre 2000 Statut Membre Dernière intervention 4 novembre 2008 - 4 nov. 2008 à 15:48
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 - 5 nov. 2008 à 18:01
Bonjour,


J'essaye de complier deux classe qui doivent être l'ami l'une de l'autre, c'est à dire quelque chose comme


class A{
 A::A();
 A::~A();


 void A::FonctionUtilisantB(B objB,....);
};


et


class B{
  B::B();
  B::~B();


  void B::FonctionUtilisantA(A objA,....);
};


Comme vous l'avez compris #include B dans le fichier A.h et #include A dans le fichier B.h ne fonctionne pas. J'aimerais donc savoir quelle astuce de programmation utiliser.


Merci d'avance

1 réponse

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
5 nov. 2008 à 18:01
Par exemple:

class Bbb;

class Abb {
public:
    int i;

    Abb();
    int FonctionUtilisantB(Bbb objB);
};

class Bbb {
public:
    int i;

    Bbb();
    int  FonctionUtilisantA(Abb objA);
};

Abb::Abb() {
    i = 4;
}

int Abb::FonctionUtilisantB(Bbb objB) {
    return objB.i;
}

Bbb::Bbb() {
    i = 6;
}

int Bbb::FonctionUtilisantA(Abb objA) {
    return objA.i;
}

int main(void)
{   
    Abb a;
    Bbb b;
   
    cout << a.FonctionUtilisantB(b) << b.FonctionUtilisantA(a) << endl;
   
}

C++ (@++)<!--
0
Rejoignez-nous