Problème avec le Liskov Substitution Principle
Salut à tous.
J'ai une classe B qui hérite de A.
Voici brièvement le code:
Code:
1 2 3 4 5 6 7 8
| class A {
....
bool belongsTo(std::vector<A>);
};
class B : public A {
...
}; |
Now, j'appelle la méthode "belongsTo" avec B en faisant:
Code:
1 2 3 4 5
|
B bb;
vector<B> listInstancesB;
//initialisation de la liste
isbbInListInstancesB = bb.belongsTo(listInstancesB); |
Et comme certains pourront l'imaginer, j'ai une erreur de type reçu par la méthode belongsTo.
Je sais que je peux juste surcharger cette méthode résoudre le problème mais
le code est pratiquement le même.
Ainsi j'aimerais savoir s'il n'y a pas une conception qui pourrait me faire contourner le problème
en étant fidèle au principe "Don't Repeat Yourself".
Merci d'avance pour vos réponses.