Wzajemne korzystanie z obiektów klas

0

Mam szybkie pytanie.

Jeżeli mam 2 klasy i każda z nich chciałaby sobie korzystać z tej drugiej, to czy ten poniższy sposób jest jedyny aby dostać się do obiektów tych klas?
To znaczy w Pierwszej za pomocą wskaźnika (do Drugiej), a w drugiej za pomocą referencji (do Pierwszej)?

class Druga;

class Pierwsza {
public:

    Pierwsza() {
    };

private:
    Druga *foo1;
};
class Druga {
public:

    Druga() {
    };

private:
    Pierwsza foo1;
};

Korzystanie z referencji jest bezpieczeniejsze czy jest sposób by w obu przypadkach dostać się do obiektów za pomocą referencji?

0
struct Foo{
	struct Bar{
		Bar(Foo &foo): foo(foo){}
		Foo &foo;
	} bar;
	Foo(): bar(*this){}
};

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