Just in case anyone tries following this advice, I should point out that for such a small code snippet, there are a lot of mistakes!
Apart from the basic syntactic errors, the first thing that may confuse people once they've fixed that are that you've given the two objects copies of each other, not references or pointers (which would actually result in an infinite loop during construction).
And more importantly, even if you fix the code to use references and get it all to compile/run, then during construction one of the objects would have a reference to a not-yet-constructed instance of the other one, so any code that attempted to use the other object at that point would go horribly wrong. And likewise on destruction, at least one of the classes would have to be deleted first, so the other would still be left with a dangling pointer for some period of time.
If two objects need references to each other, then at least one of them would need to use a pointer, not a reference. Start it with a nullptr, and then assign the other object to that pointer only after everything has been fully constructed. You have a messier problem on deletion, because you need to nullify the pointer when its target is deleted.
..so in general, having objects with mutual references is a bad thing! It's usually a sign that you've deisgned something wrong and need to find a different way to structure your data so that dependencies only point in a single direction.