- do nothing if: A makes no references at all to B
- do nothing if: The only reference to B is in a friend declaration
- forward declare B if: A contains a B pointer or reference:
B* myb;
- forward declare B if: one or more functions has a B object/pointer/reference
as a parementer, or as a return type:
B MyFunction(B myb);
#include "b.h"
if: B is a parent class of A#include "b.h" if
: A contains a B object: B myb;
- Rien faire si la classe A ne refère aucunement à B
- Ne rien faire si la seule réference à la classe B est une déclaration "friend"
- Faire une "forward declaration" de B si A contient un pointeur ou une reference à B :
B * b;
- Faire une "forward declaration" de B si au moins une fonction a comme paramètre/valeur de retour un objet/pointeur/reference à B
- Utiliser l'instruction
#include "B.hpp"
si A hérite de B - Utiliser l'instruction
#include "b.hpp"
si A contient un objetb : B b;