#include /* Que va afficher en sortie le programme suivant. Essayer de répondre à la question sans vous aider par votre compilateur. */ using namespace std; class Animal { public: virtual void uneFonction() { // il faut au moins une fonction virtuelle // (car il faut des classes polymorphes) } }; class Mammifere : public Animal { }; class Chien : public Mammifere { }; class Caniche : public Chien { }; class Chat : public Mammifere { }; class Reverbere { }; int main(){ Animal *ptr = new Caniche; cout << typeid(ptr).name() << '\n'; cout << typeid(*ptr).name() << '\n'; cout << "L'animal pointée par ptr " << (typeid(*ptr) == typeid(Chien) ? "est" : "n'est pas") << " un chien\n"; cout << "L'animal pointée par ptr est un " << typeid(*ptr).name() << "\n"; return 0; }