#include <iostream>
using namespace std;
#include <vector>
class Zwierze{
public:
virtual void poruszanie() = 0;
};
class Kot: public Zwierze{
public:
void poruszanie(){
std::cout<<"Idzie na 4 łapach";
}
};
class Malpa: public Zwierze{
public:
void poruszanie(){
std::cout<<"Skacze po drzewach";
}
};
class Delfin: public Zwierze{
public:
void poruszanie(){
std::cout<<"Pływa";
}
};
int main() {
vector <Zwierze*> Zwierzeta;
Zwierzeta.push_back(new Kot);
Zwierzeta.push_back(new Malpa);
Zwierzeta.push_back(new Delfin);
for(auto Element: Zwierzeta)
Element->poruszanie();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojaW5jbHVkZSA8dmVjdG9yPgoKCmNsYXNzIFp3aWVyemV7CglwdWJsaWM6Cgl2aXJ0dWFsIHZvaWQgcG9ydXN6YW5pZSgpID0gMDsKfTsKCmNsYXNzIEtvdDogcHVibGljIFp3aWVyemV7CglwdWJsaWM6Cgl2b2lkIHBvcnVzemFuaWUoKXsKCQlzdGQ6OmNvdXQ8PCJJZHppZSBuYSA0IMWCYXBhY2giOwoJfQp9OwoKY2xhc3MgTWFscGE6IHB1YmxpYyBad2llcnplewoJcHVibGljOgoJdm9pZCBwb3J1c3phbmllKCl7CgkJc3RkOjpjb3V0PDwiU2thY3plIHBvIGRyemV3YWNoIjsKCX0KfTsKCmNsYXNzIERlbGZpbjogcHVibGljIFp3aWVyemV7CnB1YmxpYzoKCXZvaWQgcG9ydXN6YW5pZSgpewoJCXN0ZDo6Y291dDw8IlDFgnl3YSI7Cgl9Cn07CgoKCmludCBtYWluKCkgewoJdmVjdG9yIDxad2llcnplKj4gWndpZXJ6ZXRhOwoJWndpZXJ6ZXRhLnB1c2hfYmFjayhuZXcgS290KTsKCVp3aWVyemV0YS5wdXNoX2JhY2sobmV3IE1hbHBhKTsKCVp3aWVyemV0YS5wdXNoX2JhY2sobmV3IERlbGZpbik7Cglmb3IoYXV0byBFbGVtZW50OiBad2llcnpldGEpCgkJRWxlbWVudC0+cG9ydXN6YW5pZSgpOwp9