Méthode de comparaison et héritage
Bonjour,
J'ai des classes héritant d'une classe possédant une méthode compare. J'aimerais surcharger ces méthodes dans les classes filles comme dans l'exemple suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11
| class A
{
public:
virtual void compare(A& a) { std::cout << "A"; }
};
class B : public A
{
public:
void compare(B& b) { std::cout << "B"; }
}; |
Le virtual ne sert à rien ici et le code suivant retourne "A".
Code:
1 2 3 4 5
| B b1, b2;
A * a1, * a2;
a1 = &b1;
a2 = &b2;
a1->compare(*a2); |
Le problème c'est que lors que je dois appeler compare je n'ai que des pointeurs ou des références sur A. Est-ce que j'ai une solution pour gérer ça simplement?
Merci