Wzajemne korzystanie z obiektów klas

2015-03-27 13:06
Mały Szczur
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?

Pozostało 580 znaków

2015-03-27 13:16
0
struct Foo{
    struct Bar{
        Bar(Foo &foo): foo(foo){}
        Foo &foo;
    } bar;
    Foo(): bar(*this){}
};
Za dużo tych foo-barów... :) - furious programming 2015-03-27 13:59
@furious programming Foo Bar, Pierwsza Druga, dla mnie bez różnicy, szczególnie gdy jest konwencja: nazwy klas z wielkiej litery, nazwy zmiennych, pól i metod z małej - spartanPAGE 2015-03-27 14:02
Ja wiem - słówka Foo, Bald i Bar służą do przykładów; Miałem na myśli case-sensitive w kodzie, które dla mnie jest WTFem; - furious programming 2015-03-27 14:08
TPlayer i Player, czy Player i player dla mnie bez różnicy :P Ot, co język to konwencja. Nie widzę powodu do nazywania tutaj pól someFoo, czy ona (konwencja) mówi sama za siebie - spartanPAGE 2015-03-27 14:11
Kluczem jest prefiks T - tak samo jak P (pointer) czy A (argument) odróżniają typ i przeznaczenie, podobnie jak notacja węgierska; Wiadome - stosując się do jednej konwencji raczej błędu się nie palnie, jednak mimo wszystko nie podoba mi się to; Dobra, dość hejtowania :P - furious programming 2015-03-27 14:13
Jak mówiłem, co język to konwencja :P Wszystko zależy od przyzwyczajeń. Ja osobiście szewskiej pasji dostaję, gdy ktoś mi podsuwa w C++sie kod, w którym klasy mają przedrostek C - spartanPAGE 2015-03-27 14:14

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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