Bonsoir,
Voilà, je découvre l'héritage en C++ et j'ai la situation suivante :
Une classe "AlgoGen"
Une classe "AlgoA" qui hérite de "AlgoGen"
Une classe "AlgoB" qui hérite de "AlgoGen"
Dans le fichier qui contient la méthode main, j'ai donc #include"AlgoA.h" et #include "AlgoB.h"
Dans les AlgoA.h et AlgoB.h j'ai donc #include"AlgoGen.h".
Or à la compilation il me dit : AlgoGen.h:11: error: redefinition of 'class AlgoGen' ce qui correspond à la ligne :
class Algorithme {
Vous m'avez compris ?
Ma question : pourquoi cette erreur ? Si je supprime de main.cpp un des deux include "AlgoA.h" ou "AlgoB.h", alors ce marche.