- #include <iostream> 
- #include <vector> 
- using namespace std; 
-   
- class Animal 
- { 
- public: 
-   virtual void makeSound() {   
-     cout << "Animal!" << endl; 
-   } 
- }; 
-   
- class Dog : public Animal 
- { 
- public: 
-   void makeSound() { 
-     cout << "Woof" << endl; 
-   } 
- }; 
-   
-   
- int main() 
- { 
-   Dog dog; 
-   
-   vector<Animal*> animal {&dog}; 
-   animal.at(0)->makeSound(); 
-   // or: animal[0]->makeSound(); 
-   
-   return 0; 
- } 
				I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgQW5pbWFsCnsKcHVibGljOgogIHZpcnR1YWwgdm9pZCBtYWtlU291bmQoKSB7ICAKICAgIGNvdXQgPDwgIkFuaW1hbCEiIDw8IGVuZGw7CiAgfQp9OwoKY2xhc3MgRG9nIDogcHVibGljIEFuaW1hbAp7CnB1YmxpYzoKICB2b2lkIG1ha2VTb3VuZCgpIHsKICAgIGNvdXQgPDwgIldvb2YiIDw8IGVuZGw7CiAgfQp9OwogCiAgCmludCBtYWluKCkKewogIERvZyBkb2c7CiAgICAKICB2ZWN0b3I8QW5pbWFsKj4gYW5pbWFsIHsmZG9nfTsKICBhbmltYWwuYXQoMCktPm1ha2VTb3VuZCgpOwogIC8vIG9yOiBhbmltYWxbMF0tPm1ha2VTb3VuZCgpOwogIAogIHJldHVybiAwOwp9