[Langage] Croissement de headers
Bonjour
J'ai une question qui me paraît toute bête mais je n'arrives pas à trouver de solution.
Voici un exemple quelconque pour illustrer mon problème. Prenons une classe Vector et une classe Matrix. On a donc la déclaration de la classe Matrix dans un header Matrix.h et la déclaration de la classe Vector dans un fichier Vector.h.
Maintenant imaginons que l'on souhaite créer deux méthodes de conversions. Par exemple les deux méthodes suivantes :
Code:
1 2 3
|
Matrix Vector::convertToMatrix() // Converti un vecteur en une matrice
Vector Matrix::convertToVector() // Converti une matrice en un vecteur |
Mon problème que je n'arrives pas trop à résoudre est le suivant. Pour pouvoir créer ces méthodes, il faut inclure le header Matrix.h dans le header Vector.h (afin que dans la déclaration de la méthode convertToMatrix() le type de retour Matrix soit connu). Mais il faut faire la méme chose pour une Matrice. Il faut inclure le header Vector.h dans le header Matrix.h (pour que le type de retour Vector soit définit).
Mais un header A qui inclut un header B qui inclut un header A pose un peu un problème non.
Comment peut-on résoudre ce problème ?
Merci d'avance de votre réponse.