On vous l'a maintes fois répété : En C++, il n'est pas possible de connaître le type d'un objet durant l'exécution...et bien non, c'est tout a fait possible ! Moyennant la mise en œuvre de RTTI (Run Time Type Information).
Les puristes vous diront que le langage objet est fait pour se délester des problèmes de typage grâce aux fonctions virtuelles. Certes, mais une astuce reste une astuce et des fois ça peut nous sortir du pétrin donc autant en faire profiter !
Le mécanisme de reconnaissance d'objet se réalise avec la classe type_info et l'opérateur typeid. La fonction name() renvoie le nom de la class préfixé par le mot class (suivant l'implémentation qui a été faite sur votre version).
Grâce à cette astuce vous ne serez plus obligé d'implémenter vous même les types de vos classe sous forme de chaîne dans la classe même (il y en a beaucoup qui le font).