#include <iostream>
#include <vector>

using std::cout;
using std::endl;
using std::vector;

class A
{
    public:
        virtual void f() { cout << "A" << endl; }
};

class B : public A
{
    public:
        void f() { cout << "B" << endl; }
};

int main()
{
    vector<A*> items;
    items.push_back(new A());
    items.push_back(new B());
    items[0]->f();
    items[1]->f();
    return 0;
}
