Does this means that the "this" keyword is the function itself or the whole class itself?
In some blog I found this one
Every object in C++ has access to its own address through an important pointer called this pointer. The this pointer is an implicit parameter to all member functions. Therefore, inside a member function, this may be used to refer to the invoking object.
So "this" is the member function? Im a little confuse. I thought it was the whole class?
I do not see recursion in your code, and it looks like sensible code: you are setting pointer to the parent in passed child to yourself and store it as own child.
If mParent is non-owning pointer then everything should be all right.