Heritage en diamant et virtual pure - C++ - Programmation
Marsh Posté le 25-09-2013 à 12:16:48
Hum.
Bon si j’hérite I1 dans A et I2 en "virtual public" ca fonctionne malgre un warning du compilo.
En revanche si je redéfini foo dans B en précisant explicitement quel appel je veux faire "A::foo()" ca marche impec!
Marsh Posté le 26-09-2013 à 20:29:27
l'heritage simple ou multiple de classe concrete est a proscrire. Respectez plutot Liskov et faites de l'heritage privé pour factoriser le code.
Marsh Posté le 25-09-2013 à 11:59:56
Salut tout le monde,
Soit le code suivant :
Qui me pète une erreur de compilation disant que B est abstrait à cause de foo().
Mais foo() est défini dans A.
Comment lui dire de passer par A plutôt que par I2 (sans avoir à redefinir foo() dans B) ?
Merci d'avance