#include <iostream>
using namespace std;
class Rodzic
{
int mojeID;
static int licznik;
virtual void mojeCos(ostream &o)
{
o << "["<<getID()<<"] No witam, tutaj rodzic\n";
}
public:
Rodzic()
{
mojeID = licznik++;
}
int getID() const { return mojeID; } ;
friend ostream &operator << (ostream &o, Rodzic *r)
{
r->mojeCos(o);
return o;
}
};
int Rodzic::licznik = 0;
class Kid : public Rodzic
{
virtual void mojeCos(ostream &o)
{
o << "["<<getID()<<"] Siema! A ja jestem kidem!\n";
}
};
int main() {
Rodzic *rodzinka[3] = { new Rodzic(), new Kid(), new Rodzic() };
for(int i = 0; i < 3; i++)
{
cout << rodzinka[i];
}
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgUm9kemljCnsJCglpbnQgbW9qZUlEOwoJc3RhdGljIGludCBsaWN6bmlrOwoJCgl2aXJ0dWFsIHZvaWQgbW9qZUNvcyhvc3RyZWFtICZvKQoJewoJCQoJICAgIG8gPDwgIlsiPDxnZXRJRCgpPDwiXSBObyB3aXRhbSwgdHV0YWogcm9kemljXG4iOwoJfQpwdWJsaWM6CiAgICBSb2R6aWMoKQogICAgewogICAgICBtb2plSUQgPSBsaWN6bmlrKys7CiAgICB9CiAgICBpbnQgZ2V0SUQoKSBjb25zdCB7IHJldHVybiBtb2plSUQ7IH0gOwoJZnJpZW5kIG9zdHJlYW0gJm9wZXJhdG9yIDw8IChvc3RyZWFtICZvLCBSb2R6aWMgKnIpCgl7CgkJci0+bW9qZUNvcyhvKTsKCQlyZXR1cm4gbzsKCX0KfTsKaW50IFJvZHppYzo6bGljem5payA9IDA7CmNsYXNzIEtpZCA6IHB1YmxpYyBSb2R6aWMKewoKCXZpcnR1YWwgdm9pZCBtb2plQ29zKG9zdHJlYW0gJm8pCgl7CgkJCgkgICAgbyA8PCAiWyI8PGdldElEKCk8PCJdIFNpZW1hISBBIGphIGplc3RlbSBraWRlbSFcbiI7Cgl9Cn07CmludCBtYWluKCkgewoJUm9kemljICpyb2R6aW5rYVszXSA9IHsgbmV3IFJvZHppYygpLCBuZXcgS2lkKCksIG5ldyBSb2R6aWMoKSB9OwoJZm9yKGludCBpID0gMDsgaSA8IDM7IGkrKykKCXsKCSAgY291dCA8PCByb2R6aW5rYVtpXTsKCX0KCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCXJldHVybiAwOwp9