#include <iostream>
using namespace std;
template<typename t, typename u>
struct foo{
foo(t a, u b) : x(a),y(b)
{
}
t x;
u y;
};
template <typename m, typename t, typename u>
struct der : public foo<t,u>
{
der(m a, t b, u c) :foo<t,u>(b,c), z(a)
{
}
m z;
};
int main() {
der<int,double,float> myder(1,1.03,2.05);
cout << myder.x << endl << myder.y << endl << myder.z << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCQp0ZW1wbGF0ZTx0eXBlbmFtZSB0LCB0eXBlbmFtZSB1PgpzdHJ1Y3QgZm9vewoJZm9vKHQgYSwgdSBiKSA6IHgoYSkseShiKQoJewoJCQoJfQp0IHg7CnUgeTsKfTsKCnRlbXBsYXRlIDx0eXBlbmFtZSBtLCB0eXBlbmFtZSB0LCB0eXBlbmFtZSB1PgpzdHJ1Y3QgZGVyIDogcHVibGljIGZvbzx0LHU+CnsKCWRlcihtIGEsIHQgYiwgdSBjKSA6Zm9vPHQsdT4oYixjKSwgeihhKQoJewoKCX0KCW0gejsKfTsKCgppbnQgbWFpbigpIHsKCWRlcjxpbnQsZG91YmxlLGZsb2F0PiBteWRlcigxLDEuMDMsMi4wNSk7Cgljb3V0IDw8IG15ZGVyLnggPDwgZW5kbCA8PCBteWRlci55IDw8IGVuZGwgPDwgbXlkZXIueiA8PCBlbmRsOwoJcmV0dXJuIDA7Cn0=