C ++ vennfunksjon

C ++ vennfunksjon
En funksjon er en kodeblokk som utfører en viss oppgave og gir utdataene. Det brukes hovedsakelig til å eliminere repeterende kode. I denne opplæringen vil vi se på vennfunksjonen i C ++ og forklare konseptet med arbeidseksempler.

Hva er vennfunksjon?

Friend-funksjon er en ikke-medlemsfunksjon som har tilgang til de private og beskyttede medlemmene i en klasse. “Friend” er et nøkkelord som brukes til å indikere at en funksjon er vennen til en klasse. Dette gjør at kompilatoren kan vite at den spesielle funksjonen er en venn av den gitte klassen. Vennfunksjonen skal da kunne få tilgang til det private og beskyttede medlemmet i en gitt klasse. Uten vennens nøkkelord, kan en ikke-medlem utenfor funksjon bare få tilgang til de offentlige medlemmene i en klasse.

Sentrale funksjoner ved vennfunksjon:

Her er de viktigste funksjonene i vennfunksjonen:

  1. En vennfunksjon er ikke i omfanget av klassen.
  2. Vennfunksjonen kan ikke påberopes ved hjelp av en forekomst av en klasse.
  3. Det kan få tilgang til medlemmene ved hjelp av objektet og prikkoperatøren.

Syntaks av vennfunksjon:

Her er syntaksen til vennfunksjonen:

class class_name_demo

..
..
venn return_type funksjon_name (arg_1, arg_2, ...);
;

Eksempel på vennfunksjon:

La oss nå se på et eksempelprogram for å forstå konseptet med vennfunksjonen i C++. I eksemplet nedenfor har vi "Friend_Demo" -klassen. Den har tre forskjellige typer datamedlemmer, i.e., Privat, beskyttet og offentlig.

Vi har definert en annen funksjon, jeg.e., “FriendDemo_Func ()” utenfor omfanget av "Friend_Demo" -klassen og prøvde å få tilgang til medlemmene (private, beskyttede og offentlige) i "Friend_Demo" -klassen.

Men som du kan se i utdataene nedenfor når vi sammenstiller programmet, kaster det kompileringsfeil. Vennfunksjonen kommer til å løse dette problemet nøyaktig.

#inkludere
ved hjelp av navneområdet STD;
Klassevenn_demo

privat:
int i_private;
beskyttet:
int i_protektert;
offentlig:
int i_public;
;
void FriendDemo_Func ()

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

int main ()

FriendDemo_Func ();
retur 0;

I det forrige programmet fikk vi kompileringsfeil mens vi prøvde å få tilgang til de private, beskyttede og offentlige medlemmene i en klasse fra en ikke-medlemsfunksjon. Dette er fordi en ikke-medlemsfunksjon ikke har lov til å få tilgang til de private og beskyttede medlemmene i en klasse utenfor klassens omfang.

Nå, i dette eksemplet, har vi erklært "FriendDemo_Func ()" -funksjon som en venn innenfor rammen av klassen, jeg.e., “Friend_demo”:

venn void frienddemo_func ();

Vi har laget et objekt, jeg.e., “FD” av "Friend_Demo" -klassen i "FriendDemo_Func ()" -funksjonen. Nå kan vi få tilgang til de private, beskyttede og offentlige medlemmene i "Friend_Demo" -klassen ved å bruke DOT -operatøren. Vi har tildelt 10, 15 og 20 til henholdsvis i_private, i_protected og i_public.

Som du kan se i utdataene nedenfor, er dette programmet nå samlet og utført uten feil og skriv ut utdataene som forventet.

#inkludere
ved hjelp av navneområdet STD;
Klassevenn_demo

privat:
int i_private;
beskyttet:
int i_protektert;
offentlig:
int i_public;
venn void frienddemo_func ();
;
void FriendDemo_Func ()

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

int main ()

FriendDemo_Func ();
retur 0;

Konklusjon:

I denne artikkelen har jeg forklart begrepet vennfunksjonen i C++. Jeg har også vist to arbeidseksempler for å forklare hvordan vennfunksjonen oppfører seg i C++. Noen ganger kan vennfunksjonen være veldig nyttig i et komplekst programmeringsmiljø. Imidlertid bør en programmerer være forsiktig med å over bruke den og kompromittere OOP -funksjonene.