Bonjour,
je suis face à un problème :
J'ai une classe A, qui fonctionne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
#ifndef A_HPP
#define A_HPP
//A.hpp
class A
{
/*...*/
}
#endif
Et je veux l'utiliser dans mon main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
#include "A.hpp"
int main()
{
/* ... */
return 0;
}
Donc ca, super ca fonctionne.

Maintenant j'ai une deuxieme classe, B, qui a besoin de A :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
//A.hpp
#include "A.hpp"
class B {
private : 
   A m_ObjetA;
};
Et ca ne marche pas, c'est normal, le main inclut déjà une fois A et la protection anti-multi-inclusions empêche d'inclure plus d'une fois.
La seule solution est d'enlever la protection, mais dés que je l'enleve, ca ne marche plus car dans mon programme la classe A est*en collision avec une autre classe et ca crée une inclusion en boucle ...

Comment je dois faire pour inclure A dans B sans casser la protection anti inclusions multiples ?

Merci