Je formulerai ceci sous la forme d'un exemple pour le rendre plus clair. Disons que j'ai un vecteur d'animaux et que je veux passer en revue le tableau et voir si les éléments sont des chiens ou des chats?Question d'identification de classe C++
class Dog: public Animal{/*...*/};
class Cat: public Animal{/*...*/};
int main()
{
vector<Animal*> stuff;
//cramming the dogs and cats in...
for(/*all elements in stuff*/)
//Something to the effect of: if(stuff[i].getClass()==Dog) {/*do something*/}
}
J'espère que c'est un peu clair. Je sais à propos de typeid, mais je n'ai pas vraiment d'objet Dog à comparer et je voudrais éviter de créer un objet Dog si je le peux.
Est-il possible de le faire? Merci d'avance.
Vous ne pouvez pas faire cela, il doit être un vecteur ou Animal *, pas Animal. –