#include <iostream>
using namespace std;
template <typename Type>
class Vector {
public:
Type& operator[](int i) {
return data[i];
}
public:
Type &x = data[0], &y = data[1], &z = data[2];
private:
Type data[3];
};
int main(int argc, char * argv[])
{
Vector<int> v;
v.x = 1; v.y = 2; v.z = 3;
cout << v[0] << " " << v[1] << " " << v[2] << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnRlbXBsYXRlIDx0eXBlbmFtZSBUeXBlPgpjbGFzcyBWZWN0b3IgewpwdWJsaWM6CiAgICBUeXBlJiBvcGVyYXRvcltdKGludCBpKSB7CiAgICAgICAgcmV0dXJuIGRhdGFbaV07CiAgICB9CnB1YmxpYzoKICAgIFR5cGUgJnggPSBkYXRhWzBdLCAmeSA9IGRhdGFbMV0sICZ6ID0gZGF0YVsyXTsKCnByaXZhdGU6CiAgICBUeXBlIGRhdGFbM107Cn07CgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqIGFyZ3ZbXSkKewogICAgVmVjdG9yPGludD4gdjsKICAgIHYueCA9IDE7IHYueSA9IDI7IHYueiA9IDM7CiAgICBjb3V0IDw8IHZbMF0gPDwgIiAgIiA8PCB2WzFdIDw8ICIgICIgPDwgdlsyXSA8PCBlbmRsOwp9Cg==