Razlika između funkcije prijatelja i klase prijatelja
Sadržaj
Funkcija Prijatelj i prijatelj klasa su tehnike koje se koriste za pristup privatnim članovima klase pomoću ključne riječi prijatelj. Uobičajena razlika između funkcije prijatelja i klase prijatelja je da kada se koristi funkcija prijatelja, članovima privatne klase može se pristupiti, ali u prijateljskoj klasi, pristupaju se samo imenima klase prijatelja, a ne privatni članovi klase.
značajka prijatelja bez obzira koristi li se funkcija ili klasa, može negativno utjecati na objektno orijentirani okvir jer slabi ovijanje što je protiv objektno orijentirano paradigma. To je razlog zbog kojeg se značajka prijatelja mora mudro koristiti i inače bi mogla pauza skrivanje podataka koda.
Ova značajka prijatelja nije ni jedno ni drugo zamjenski i ni prijelazan, X je Y-ov prijatelj, ne zaključuje da je Y također Y-ov prijatelj. Ako je X prijatelj Y, a Y je prijatelj Z-a, ne znači da je X prijatelj Z-a.
-
- Usporedni grafikon
- definicija
- Ključne razlike
- Zaključak
Usporedni grafikon
Osnove za usporedbu | Funkcija prijatelja | Prijateljska klasa |
---|---|---|
Osnovni, temeljni | To je funkcija koja se koristi ključnom riječju prijatelja da bi se dodijelilo funkciji nečlanice privatnim članovima klase. | To je klasa koja se koristi s ključnom riječju prijatelja za pristup privatnim članovima druge klase. |
Proslijeđivanje deklaracije | Mora se koristiti. | Nije obavezno. |
Koristiti | Prijateljska funkcija može se koristiti u nekim slučajevima preopterećenja rukovaoca. | Klasa prijatelja može se koristiti kada se klasa stvori na vrhu druge klase. |
Definicija funkcije prijatelja
funkcija prijatelja koristi se za pristup privatnim i zaštićenim članovima klase dopuštajući funkciji nečlanu da ostvari pristup. U ovoj vrsti funkcije koristi se ključna riječ prijatelj prije naziva funkcije u vrijeme deklaracije. Za funkciju prijatelja primjenjuju se neki restriktivni uvjeti. Prvi je uvjet da dječja klasa ne nasljeđuje funkciju prijatelja. Drugi je uvjet da specifikator klase skladišta možda nije prisutan u funkciji prijatelja, što znači da se ne može deklarirati kao statična i vanjska.
Funkcija friend se ne poziva sa pozvanim objektom klase. Primjeri funkcije prijatelja su: globalna funkcija, funkcija člana klase, predložak funkcije može biti funkcija prijatelja. Shvatimo to uz pomoć primjera.
#include Funkcija prijatelja potrebna je kada funkcija treba pristupiti dvijema ili više nezavisnih klasa, unutarnjim članovima. S druge strane, prijateljska klasa je potrebna kad klasa zahtijeva pristup pripadnicima druge klase. Kada funkciji više članova treba biti prijatelj te funkcije, u tom slučaju, bolje je koristiti klasu prijatelja.
Zaključak