Funkcja zaprzyjaźniona z klasą zadeklarowana w tej klasie (?)

0

Cześć,
Analizuję sobie pewien kod w C++ i mam coś takiego, że w klasie jest zadeklarowana przyjaźń z pewną funkcją, która jest następnie deklarowana w tej samej klasie. Tzn. mam coś takiego (dla lepszej przejrzystości uprościłem funkcję):

class klasa {
friend int funkcja();
//...
private:
int funkcja(); //po co tworzyć przyjaźń do funkcji zadeklarowanej wewnątrz tej klasy?
};

No i teraz zastanawiam się po co jest to zrobione? Jaki jest sens nadawania przyjaźni do funkcji/metody, tej samej samej klasy?

Małe sprostowanie, to chyba jednak nie jest przyjaźń z metodą tej klasy. Po prostu funkcja z którą jest przyjaźń nazywa się identycznie jak metoda.
Powstaje więc pytanie po co nazywać tak samo metodę i funkcję zaprzyjaźnioną?

0

To dwie rozne funkcje. Po co tak robic? Nie mam zielonego pojecia, dla mnie to po prostu forma zaciemniania kodu.

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