C ++

Funkcija prijatelja C ++

Funkcija prijatelja C ++
Funkcija je blok kode, ki izvaja določeno nalogo in zagotavlja izhodne podatke. Uporablja se predvsem za odpravo ponavljajoče se kode. V tej vadnici bomo preučili funkcijo prijatelja v jeziku C ++ in razložili njen koncept z delovnimi primeri.

Kaj je prijateljska funkcija?

Funkcija prijatelja je nečlanska funkcija, ki lahko dostopa do zasebnih in zaščitenih članov razreda. »Friend« je ključna beseda, ki označuje, da je funkcija prijatelj razreda. To prevajalniku omogoča, da ve, da je določena funkcija prijatelj danega razreda. Funkcija prijatelja bi potem morala imeti dostop do zasebnega in zaščitenega člana danega razreda. Brez ključne besede friend lahko zunanja funkcija, ki ni član, dostopa samo do javnih članov razreda.

Ključne značilnosti prijateljske funkcije:

Tu so ključne značilnosti funkcije prijatelja:

  1. Funkcija prijatelja ni v obsegu predavanja.
  2. Funkcije prijatelja ni mogoče priklicati s primerkom razreda.
  3. Do članov lahko dostopa s pomočjo operatorja predmetov in pik.

Sintaksa funkcije prijatelja:

Tu je sintaksa funkcije prijatelj:

razred Class_Name_Demo

..
..
prijatelj return_Type function_Name (arg_1, arg_2,…);
;

Primer prijateljske funkcije:

Zdaj pa si oglejmo primer programa za razumevanje koncepta funkcije prijatelja v jeziku C++. V spodnjem primeru programa imamo razred "Friend_Demo". Ima tri različne vrste podatkovnih članov, tj.e., zasebni, zaščiteni in javni.

Določili smo drugo funkcijo, tj.e., “FriendDemo_Func ()” izven obsega razreda “Friend_Demo” in je poskušal dostopati do članov (zasebnih, zaščitenih in javnih) razreda “Friend_Demo”.

Toda, kot lahko vidite v spodnjem izhodu, ko prevajamo program, vrže napake pri prevajanju. Funkcija prijatelja bo natančno rešila to težavo.

#include
uporaba imenskega prostora std;
razred Friend_Demo

zasebno:
int i_private;
zaščiteno:
int i_protected;
javno:
int i_public;
;
void friendDemo_Func ()

Friend_Demo fd;
fd.i_private = 10;
fd.i_protected = 15;
fd.i_public = 20;
cout << fd.i_private << endl;
cout << fd.i_protected << endl;
cout << fd.i_public << endl;

int main ()

friendDemo_Func ();
vrnitev 0;

V prejšnjem programu smo med poskusom dostopa do zasebnih, zaščitenih in javnih članov razreda iz nečlanske funkcije prejemali napake pri prevajanju. To je zato, ker funkcija, ki ni članica, ne sme dostopati do zasebnih in zaščitenih članov razreda zunaj obsega razreda.

Zdaj smo v tem primeru funkcijo “friendDemo_Func ()” razglasili kot prijatelja znotraj obsega razreda, i.e., “Friend_Demo”:

friend void friendDemo_Func ();

Ustvarili smo objekt, tj.e., “Fd” razreda “Friend_Demo” znotraj funkcije “friendDemo_Func ()”. Zdaj imamo dostop do zasebnih, zaščitenih in javnih članov razreda »Friend_Demo« s pomočjo operatorja pik. I_private, i_protected oziroma i_public smo dodelili 10, 15 in 20.

Kot lahko vidite v spodnjem izhodu, je ta program zdaj sestavljen in izveden brez napak in natisne izhod po pričakovanjih.

#include
uporaba imenskega prostora std;
razred Friend_Demo

zasebno:
int i_private;
zaščiteno:
int i_protected;
javno:
int i_public;
friend void friendDemo_Func ();
;
void friendDemo_Func ()

Friend_Demo fd;
fd.i_private = 10;
fd.i_protected = 15;
fd.i_public = 20;
cout << fd.i_private << endl;
cout << fd.i_protected << endl;
cout << fd.i_public << endl;

int main ()

friendDemo_Func ();
vrnitev 0;

Zaključek:

V tem članku sem razložil koncept funkcije prijatelja v jeziku C++. Pokazal sem tudi dva delovna primera, ki pojasnjujeta, kako se funkcija prijatelja obnaša v jeziku C++. Včasih je funkcija prijatelja lahko zelo koristna v zapletenem programskem okolju. Programer pa mora biti previden, če ga preveč zlorablja in ogroža njegove funkcije OOP.

Kako namestiti League Of Legends na Ubuntu 14.04
Če ste ljubitelj League of Legends, je to priložnost, da preizkusite League of Legends. Upoštevajte, da LOL podpira PlayOnLinux, če uporabljate Linux....
Namestite najnovejšo strategijo igre OpenRA v Ubuntu Linux
OpenRA je Libre / Free Real Time strateški stroj, ki poustvarja zgodnje igre Westwood, kot je klasična Command & Conquer: Red Alert. Porazdeljeni modi...
Namestite najnovejši Dolphin Emulator za Gamecube & Wii v Linux
Dolphin Emulator vam omogoča igranje izbranih iger Gamecube in Wii na osebnih računalnikih Linux (PC). Dolphin Emulator je prosto dostopen in odprtok...