Я хочу получить доступ к классу "переменная vec1's x", используя объект v3
Это показывает отсутствие ясности с вашей стороны относительно того, как связаны различные объекты.
v3
содержит std::vector
из vec2
объектов. Это пустой std::vector
, когда v3
построен так, как вы. Вы должны добавить объект типа vec2
в v3.v2
, чтобы иметь доступ к любому объекту vec2
из v3
.
v3.v2.push_back(vec2());
vec2& v2 = v3.v2[0]; // Now you have access to a vec2 object from v3.
Однако v1
объекта vec2
является пустым std::vector
. Вам нужно добавить vec1
объект, прежде чем вы сможете получить доступ к такому объекту из v3
.
v3.v2.push_back(vec2);
v3.v2[0].v1.push_back(vec1(10));
vec1& v1 = v3.v2[0].v1[0]; // Now you have access to a vec1 object from v3.
Теперь вы можете получить доступ и изменить x
объекта vec1
.
v3.v2.push_back(vec2);
v3.v2[0].v1.push_back(vec1(10));
// Get the value and print it to cout.
std::cout << v3.v2[0].v1[0].x << std::endl;
Change the value
v3.v2[0].v1[0].x = 20;