Code:// Listing 14.2 Using dynamic_cast. // Using rtti #include <iostream> using namespace std; enum TYPE { HORSE, PEGASUS };//doesn't seem to be really needed for this //project to run, but oh well, That's Jesse Liberty for you right there. class Horse { public: virtual void Gallop(){ cout << "Galloping...\n"; } private: int itsAge; }; class Pegasus : public Horse { public: virtual void Fly() {cout<<"I can fly! I can fly! I can fly!\n";} }; const int NumberHorses = 5; int main() { Horse* Ranch[NumberHorses]; Horse* pHorse; int choice,i; for (i=0; i<NumberHorses; i++) { cout << "(1)Horse (2)Pegasus: "; cin >> choice; if (choice == 2) pHorse = new Pegasus; else pHorse = new Horse; Ranch[i] = pHorse; } cout << "\n"; for (i=0; i<NumberHorses; i++) { Pegasus *pPeg = dynamic_cast< Pegasus *> (Ranch[i]); /* What is this saying here?*/ if (pPeg)// what is this saying here? /* is it asking to say "if pReg= dynamic_cast< Pegasus *> (Ranch[i]) then call the fly method or what?*/ pPeg->Fly(); else cout << "Just a horse\n"; delete Ranch[i]; } int x; cin>>x; return 0; } /* Thank you all in advance for you help *