#include <vector>
using namespace std;
class Base {
// ...
};
class Derived1 : public Base {
// ...
};
class Derived2 : public Base {
// ...
};
int main() {
vector<Base *> vector_of_pointers;
vector_of_pointers.push_back(new Base());
vector_of_pointers.push_back(new Derived1());
vector_of_pointers.push_back(new Derived2());
return 0;
}
I2luY2x1ZGUgPHZlY3Rvcj4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIEJhc2UgewoJLy8gLi4uCn07CgpjbGFzcyBEZXJpdmVkMSA6IHB1YmxpYyBCYXNlIHsKCS8vIC4uLgp9OwoKY2xhc3MgRGVyaXZlZDIgOiBwdWJsaWMgQmFzZSB7CgkvLyAuLi4KfTsKCmludCBtYWluKCkgewoJdmVjdG9yPEJhc2UgKj4gdmVjdG9yX29mX3BvaW50ZXJzOwoJdmVjdG9yX29mX3BvaW50ZXJzLnB1c2hfYmFjayhuZXcgQmFzZSgpKTsKCXZlY3Rvcl9vZl9wb2ludGVycy5wdXNoX2JhY2sobmV3IERlcml2ZWQxKCkpOwoJdmVjdG9yX29mX3BvaW50ZXJzLnB1c2hfYmFjayhuZXcgRGVyaXZlZDIoKSk7CglyZXR1cm4gMDsKfQ==