je le cas suivant:Ne pas y compris en-tête de classe quand seule déclaration existe
class_a.hpp:
#include "class_b.hpp" // is this "include" mandatory?
class class_a{
private:
class_b b;
};
class_a.cpp:
#include "class_b.hpp"
//code that uses member variables and functions from class_b
class_b.hpp:
class class_b{};
Est-il possible de se débarrasser de #include "class_b.hpp"
dans le class_a.hpp
? Puisque c'est juste une déclaration, pourquoi je ne peux pas simplement utiliser la déclaration avant et ne pas l'inclure? (J'ai essayé, mais il n'a pas été compilé)
Bien sûr, j'ai inclus class_b.hpp
dans le class_a.cpp
.
Me Silly .. Cela devrait être évident. merci beaucoup –
@HumamHelfawi Si c'est la réponse à votre question, vous devriez l'accepter. –
@PeterK Oui, bien sûr :) il faut du temps avant de pouvoir l'accepter –