Razlika med funkcijo prijatelja in razredom prijateljev
Vsebina
Funkcija Friend in friend class so tehnike, ki se uporabljajo za dostop do zasebnih članov razreda s pomočjo ključne besede friend. Skupna razlika med prijateljevo funkcijo in prijateljevim razredom je, da lahko pri uporabi funkcije prijatelja dostopamo do članov zasebnega razreda, vendar v razredu prijateljev, samo do imen razreda prijatelja pa do zasebnih članov razreda.
The prijatelja funkcija ne glede na to, ali se uporablja s funkcijo ali razredom, lahko negativno vpliva na objektno orientiran okvir, saj oslabi kapsulacija kar je proti objektno usmerjen paradigma. To je razlog, da je treba funkcijo prijatelja uporabljati pametno, sicer bi lahko zlom the skrivanje podatkov kode.
Ta funkcija prijatelja ni nobena komutative in niti prehodno. X je Y-jev prijatelj, ne sklepa, da je Y tudi prijatelj X. Če je X prijatelj Y in Y je prijatelj Z, ne pomeni, da je X prijatelj Z.
-
- Primerjalna tabela
- Opredelitev
- Ključne razlike
- Zaključek
Primerjalna tabela
Osnove za primerjavo | Prijateljeva funkcija | Razred prijateljev |
---|---|---|
Osnovni | To je funkcija, ki se uporablja s ključno besedo prijatelj, da se nečlanskim funkcijam omogoči dostop zasebnim članom razreda. | To je razred, ki se uporablja s ključno besedo prijatelj za dostop do zasebnih članov drugega razreda. |
Posredujoča izjava | Uporabiti ga je treba. | Ni obvezno. |
Uporaba | Prijateljska funkcija se lahko uporablja v nekaterih primerih preobremenitve operaterja. | Razred prijateljev je mogoče uporabiti, če je razred ustvarjen na vrhu drugega razreda. |
Opredelitev funkcije prijatelja
The funkcija prijatelja se uporablja za dostop do zasebnih in zaščitenih članov razreda, tako da dovoli nečlanski funkciji dostop. Pri tej vrsti funkcije se pred imenom funkcije ob deklaraciji uporablja ključna beseda friend. Za funkcijo prijatelja veljajo nekateri omejevalni pogoji. Prvi pogoj je, da funkcije prijatelja ne deduje razred otrok. Drugi pogoj je, da specifikator pomnilniškega razreda morda ni prisoten v funkciji friend, kar pomeni, da ga ni mogoče razglasiti kot statičnega in zunanjega.
Funkcija friend se ne prikliče s priklicnim predmetom razreda. Primeri funkcije prijatelja so: globalna funkcija, funkcija člana razreda, predloga funkcije je lahko funkcija prijatelja. Razložimo s pomočjo primera.
#include Prijateljska funkcija je potrebna, kadar mora funkcija dostopati do dveh ali več neodvisnih razredov, notranjih članov. Po drugi strani pa je razred prijatelja potreben, kadar razred zahteva dostop do članov drugega razreda. Kadar mora biti funkcija številnih članov prijatelj te funkcije, je v tem primeru bolje uporabiti razred prijatelja.
Zaključek