#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;
}
