int main() { int i; Animal* animalArray[ ] = { new Dog, new Cat, new Cat }; for (i=0; i<3; i++) { animalArray[i]->Speak(); Cat *pRealCat = dynamic_cast<Cat *> (animalArray[i]); if (pRealCat)// will return NULL for non cat animal pRealCat->Miao(); else std::cout << "not a cat!\n"; std::cout << "\n"; } }