#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;
}