• [^] # Re: Tes "virtual" sont mals placés

    Posté par . En réponse au message Autour de l'héritage multiple et des méthodes virtuelles.. Évalué à 2.

    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();
    }
    };


    Etienne