Co to jest funkcja przyjaciela?
Funkcja Friend to funkcja bez członków, która może uzyskać dostęp do prywatnych i chronionych członków klasy. „Przyjaciel” to słowo kluczowe używane do wskazania, że funkcja jest przyjacielem klasy. To pozwala kompilatorowi wiedzieć, że konkretna funkcja jest przyjacielem danej klasy. Funkcja przyjaciela powinna wówczas mieć dostęp do prywatnego i chronionego członka danej klasy. Bez słowa kluczowego przyjaciela, funkcja zewnętrzna bez członków może uzyskać dostęp tylko do publicznych członków klasy.
Kluczowe funkcje funkcji przyjaciela:
Oto kluczowe funkcje funkcji przyjaciela:
Składnia funkcji przyjaciela:
Oto składnia funkcji przyjaciela:
klasa_nazwa_demoPrzykład funkcji przyjaciela:
Teraz przyjrzyjmy się przykładowi programu, aby zrozumieć pojęcie funkcji przyjaciela w C++. W poniższym programie mamy klasę „friend_demo”. Ma trzy różne typy członków danych, i.mi., prywatne, chronione i publiczne.
Zdefiniowaliśmy inną funkcję, i.mi., „FriendDemo_func ()” poza zakresem klasy „Friend_demo” i próbowałem uzyskać dostęp do członków (prywatnych, chronionych i publicznych) klasy „Friend_demo”.
Ale, jak widać na poniższym wyjściu, gdy kompilujemy program, rzuca błędy kompilacji. Funkcja przyjaciela dokładnie rozwiąże ten problem.
#włączaćW poprzednim programie otrzymywaliśmy błędy kompilacji, próbując uzyskać dostęp do prywatnych, chronionych i publicznych członków klasy z funkcji innych niż członek. Wynika to z faktu, że funkcja bez członków nie może uzyskać dostępu do prywatnych i chronionych członków klasy spoza zakresu klasy.
Teraz, w tym przykładzie, zadeklarowaliśmy funkcję „friendDemo_Func ()” jako przyjaciel w zakresie klasy, i.mi., „Friend_demo”:
przyjaciel void frienddemo_func ();Stworzyliśmy obiekt, i.mi., „FD” klasy „Friend_demo” w funkcji „FriendDemo_Func ()”. Teraz możemy uzyskać dostęp do prywatnych, chronionych i publicznych członków klasy „Friend_demo” za pomocą operatora DOT. Przypisaliśmy odpowiednio 10, 15 i 20 do I_Private, I_Protected i I_Public.
Jak widać na poniższym wyjściu, ten program jest teraz kompilowany i wykonywany bez żadnych błędów i wydrukuj dane wyjściowe zgodnie z oczekiwaniami.
#włączaćWniosek:
W tym artykule wyjaśniłem koncepcję funkcji przyjaciela w C++. Pokazałem również dwa przykłady działające, aby wyjaśnić, w jaki sposób funkcja przyjaciela zachowuje się w C++. Czasami funkcja przyjaciela może być bardzo przydatna w złożonym środowisku programowania. Jednak programista powinien zachować ostrożność w zakresie nadużycia i narażania funkcji OOP.