probleme de compilation" />

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

Signaler
Messages postés
2
Date d'inscription
samedi 23 décembre 2000
Statut
Membre
Dernière intervention
4 novembre 2008
-
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
-
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

Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
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++ (@++)<!--