Vektor w klasie klasy - wywołanie

0

Witam

Mam pytanie jak odwołać się do elementu np x lub a?

class C {
public:
    float a;
    std::vector<D> D1;
};
class B {
public:
    float x;
    float y;
    std::vector<C> C1;
};
class A {
public:
    float r;
    std::vector<B> B1;
};
class Dane {
public:
    std::vector<A> A0;
};

Pozdrawiam

2

Stworzyć instancję klasy i potem nazwaInstancji.x.

2
C c{};
B b{};
c.a; // odwołanie do a
b.x; // odwołanie do x
0

Działam w funkcji, do której przekazuję klasę Dane& Dane w związku z czym nie mogę odnieść się bezpośrednio do innych klas czy danych.

0

Co rozumiesz przez „przekazuję klasę”? W C++ definicja klasy to nie obiekt, więc nie można jej normalnie przekazać, musisz napisać coś więcej.

Czy może chodzi Ci o uczynienie zmiennych składowych statycznymi?

3

Staraj się zadawać konkretniejsze pytania w takim razie ;​)

Zakładając, że wektory mają odpowiednio dużo elementów:

void foo(Dane& d)
{
    d.A0[m].B1[n].x; // x 
    d.A0[m].B1[n].C1[o].a; // a
}
0

W wektorach są już zapisane dane.
Wykonuje takie wywołanie

void PR(Dane& Dane)
{
//a tu potrzebuje wydobyć a i x
}

dziękuję odpowiedzią jest:

void foo(Dane& d)
{
    d.A0[m].B1[n].x; // x 
    d.A0[m].B1[n].C1[o].a; // a
}
//wewnątrz zrobię .size() i będę wiedział ile wektorów mam do wywołania; ```

1 użytkowników online, w tym zalogowanych: 0, gości: 1