#include <iostream>
using namespace std;
class Animal {
public:
virtual void perform() { cout << "Animal is performing..." << endl; }
};
class Monkey : public Animal {
public:
virtual void perform() { cout << "Monkey is swaying..." << endl; }
};
class Elephant : public Animal {
public:
virtual void perform() { cout << "Elephant is playing..." << endl; }
};
class Lion : public Animal {
public:
virtual void perform() { cout << "Lion is running..." << endl; }
};
int main() {
Monkey m;
Elephant e;
Lion l;
Animal a;
Animal* p;
p = &a;
p->perform();
p = &m;
p->perform();
p = &e;
p->perform();
p = &l;
p->perform();
return 0;
}
Animal is performing...
Monkey is swaying...
Elephant is playing...
Lion is running...