passage de collection heterogene en parametre
Bonjour,
Je développe un jeu en C++ sous Windows avec Codeblocks et avec SFML.
Comme le titre l'indique je tente de passer une collection hétérogène , (un vector de pointeurs sur Vaisseau) , à une méthode qui reçoit comme paramètre un vector de pointeur sur Objet.
Tout cela sachant que Vaisseau Hérite d'une classe qui hérite d'Objet.
voici la méthode appelée:
Code:
1 2 3 4 5
|
bool Objet::collision(vector< Objet*>& listeObjetsDistants )
{
...
} |
et voici l'appel de celle ci:
Code:
1 2
|
m_listeVaisseau[i]->collision(m_listeVaisseau); |
sachant que m_listeVaisseau est déclarée comme suit:
Code:
1 2
|
std::vector<Vaisseau*> m_listeVaisseau; |
Je sais qu'en java il faut résoudre ce problème avec l’implémentation d'une methode générique qui reçoit n'importe quel sous-type de Objet*.
Mais en C++, je ne connais pas d'équivalent, et j'aimerai bien éviter le plus possible de devoir caster tout le vector car la complexité algorithmique ralentirait beaucoup le jeu.