#include <iostream>
using namespace std;
struct A
{
int x;
A(int x) : x(x) {}
virtual ~A() {}
};
struct B : A
{
B() : A(7) {}
};
int main()
{
A *a = new B[4];
for (size_t q=0; q<4; ++q)
cout << q << ": " << a[q].x << endl;
delete [] a;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBBCnsKICBpbnQgeDsKICBBKGludCB4KSA6IHgoeCkge30KICB2aXJ0dWFsIH5BKCkge30KfTsKCnN0cnVjdCBCIDogQQp7CiAgQigpIDogQSg3KSB7fQp9OwoKaW50IG1haW4oKQp7CiAgQSAqYSA9IG5ldyBCWzRdOwogIAogIGZvciAoc2l6ZV90IHE9MDsgcTw0OyArK3EpCiAgICBjb3V0IDw8IHEgPDwgIjogIiA8PCBhW3FdLnggPDwgZW5kbDsKICAKICBkZWxldGUgW10gYTsKICAKICByZXR1cm4gMDsKfQ==