How to correctly access the vectors of objects in a coherent data structure?

This is my greatly reduced code to the parts concerning my problem:

Node.hpp:

Solarsystem knot, sun, mercury, venus, earth, moon, mars, jupiter, saturn, uranus, neptune, pluto;
Node class {
public:
Node getChild (std :: string aName);
void addChildren (nodal node);
std :: vector getChildrenList ();
std :: string getName ();
private:
std :: vector children;
std :: string name;
float size;
}; 

Now I have tried adding the planets of our solar system to the solarsystem node system. Except for the moon. This one is supposed to be added as a child to the earth.

Main interior:

        solarsystem.addChildren (mercury);
solarsystem.addChildren (come);
solarsystem.addChildren (earth);
earth.addChildren (moon);
...

std :: cout << "Solarsystem child vector size:" << solarsystem.getChildrenList (). size () << std :: endl;
std :: cout << "node name at (2):" << solarsystem.getChildrenList (). at (2) .getName () << std :: endl;
std :: cout << << size of the earth (1): << solarsystem.getChildrenList (). at (2) .getChildrenList (). size () << std :: endl;
std :: cout << << size of the earth (2): << << earth.getChildrenList (). size () << std :: endl;

ouput:

Vector children's size of solarsystem: 9
name: earth
size of the earth (1): 0
size of the earth (2): 1

My problem is: why are there two different results? What should I change so that the 0 also changes to 1? And why can I get all the other members like floating size using both methods, but the vector just will not?

Every help is highly appreciated. Thank you