Nicolas a raison, il faut que B et C héritent "virtuellement" de A. Le problème sur lequel tu bloque maintenant, c'est que le compilateur ne sait pas, dans la classe D si property1() doit utiliser B::property1() ou C::property1(), il faut donc lui dire explicitement :
class D : public B, public C {
public:
/* Ici on est obligé de définir property1(), sinon le
* compilateur ne peut savoir si c'est property1 de B ou de C
* qu'il veut
*/
virtual bool property1()
{
return B::property1();
}
};
[^] # Re: Tes "virtual" sont mals placés
Posté par Étienne . En réponse au message Autour de l'héritage multiple et des méthodes virtuelles.. Évalué à 2.
class D : public B, public C {public:
/* Ici on est obligé de définir property1(), sinon le
* compilateur ne peut savoir si c'est property1 de B ou de C
* qu'il veut
*/
virtual bool property1()
{
return B::property1();
}
};
Etienne