#include <iostream>
#include <string>

using namespace std;

class A {
    public:
        virtual string podaj_nazwe();
        void pisz();
};

class B: public A {
    public:
        virtual string podaj_nazwe();
};

string A::podaj_nazwe()
{
    return string("A");
}

void A::pisz()
{
    cout << "jestem obiektem klasy " << podaj_nazwe() << endl;
}

string B::podaj_nazwe()
{
    return string("B");
}

int main()
{
    A a;
    B b;
    A *a2 = new B();
    a.pisz();
    b.pisz();
    a2->pisz();
    delete a2;
    return 0;
}

