#include <iostream>

using namespace std;

class Animal{
public:
    void move(){cout << "I'm moving\n";}
};

class Dog: public Animal{
public:
    void move(){Animal::move();}
    void move(int i){cout << "I'm trotting happily!\n";}
};
class Cat: public Animal{
public:
    void move(){cout << "I'm prowling.\n";}
};

int main(){

    Animal *a = new Animal;
    a->move();
    Cat * c = new Cat;
    c->move();
    a = c;
    a->move();
    return 0;
}

