C ++

C ++ funkcia priateľa

C ++ funkcia priateľa
Funkcia je blok kódu, ktorý vykonáva určitú úlohu a poskytuje výstup. Používa sa hlavne na elimináciu opakujúcich sa kódov. V tomto tutoriále sa pozrieme na funkciu friend v C ++ a vysvetlíme jej koncept na pracovných príkladoch.

Čo je funkcia priateľa?

Funkcia Friend je nečlenská funkcia, ktorá má prístup k súkromným a chráneným členom triedy. „Priateľ“ je kľúčové slovo používané na označenie, že funkcia je priateľom triedy. Toto umožňuje kompilátoru vedieť, že konkrétna funkcia je priateľom danej triedy. Funkcia friend by potom mala mať prístup k súkromnému a chránenému členovi danej triedy. Bez kľúčového slova friend má nečlenská externá funkcia prístup iba k verejným členom triedy.

Kľúčové vlastnosti funkcie Friend:

Tu sú kľúčové vlastnosti funkcie priateľa:

  1. Funkcia priateľa nie je v rozsahu tejto triedy.
  2. Funkciu friend nie je možné vyvolať pomocou inštancie triedy.
  3. Má prístup k členom pomocou operátora objektu a bodky.

Syntax funkcie priateľa:

Tu je syntax funkcie friend:

trieda Class_Name_Demo



priateľ return_Type function_Name (arg_1, arg_2, ...);
;

Príklad funkcie priateľa:

Teraz sa pozrime na ukážkový program, aby sme pochopili koncept funkcie priateľa v jazyku C++. V nižšie uvedenom príklade programu máme triedu „Friend_Demo“. Má tri rôzne typy dátových členov, t.j.e., súkromné, chránené a verejné.

Definovali sme ďalšiu funkciu, t.j.e., „FriendDemo_Func ()“ mimo rozsahu triedy „Friend_Demo“ a pokúsil sa získať prístup k členom (súkromným, chráneným a verejným) triedy „Friend_Demo“.

Ako však vidíte na výstupe nižšie, keď kompilujeme program, vrhá to chyby kompilácie. Funkcia priateľa tento problém presne vyrieši.

#include
pomocou namespace std;
trieda Friend_Demo

súkromné:
int i_private;
chránené:
int i_protected;
verejné:
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 ();
návrat 0;

V predchádzajúcom programe sme dostávali chyby kompilácie pri pokuse o prístup k súkromným, chráneným a verejným členom triedy z nečlenskej funkcie. Je to preto, že nečlenská funkcia nemá povolený prístup k súkromným a chráneným členom triedy mimo rozsahu triedy.

Teraz sme v tomto príklade deklarovali funkciu „friendDemo_Func ()“ ako priateľa v rámci triedy, i.e., „Friend_Demo“:

friend void friendDemo_Func ();

Vytvorili sme objekt, t.j.e., „Fd“ triedy „Friend_Demo“ vo vnútri funkcie „friendDemo_Func ()“. Teraz môžeme pomocou operátora bodka získať prístup k súkromným, chráneným a verejným členom triedy „Friend_Demo“. Priradili sme 10, 15 a 20 k i_private, i_protected a i_public.

Ako vidíte na výstupe nižšie, tento program je teraz zostavený a vykonaný bez akýchkoľvek chýb a výstup je vytlačený podľa očakávania.

#include
pomocou namespace std;
trieda Friend_Demo

súkromné:
int i_private;
chránené:
int i_protected;
verejné:
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 ();
návrat 0;

Záver:

V tomto článku som vysvetlil koncept funkcie priateľa v jazyku C++. Ukázal som tiež dva pracovné príklady, ktoré vysvetľujú, ako sa funkcia friend chová v jazyku C++. V zložitom programovacom prostredí môže byť funkcia priateľa niekedy veľmi užitočná. Programátor by však mal byť opatrný pri jeho nadmernom používaní a ohrození funkcií OOP.

Hry Najlepšie hry z príkazového riadku pre systém Linux
Najlepšie hry z príkazového riadku pre systém Linux
Príkazový riadok nie je pri použití systému Linux iba vaším najväčším spojencom - môže byť tiež zdrojom zábavy, pretože ho môžete použiť na hranie mno...
Hry Najlepšie aplikácie na mapovanie gamepadu pre Linux
Najlepšie aplikácie na mapovanie gamepadu pre Linux
Ak radi hráte hry v systéme Linux s gamepadom namiesto typického systému vstupu pre klávesnicu a myš, máte tu niekoľko užitočných aplikácií. Mnoho hie...
Hry Užitočné nástroje pre hráčov systému Linux
Užitočné nástroje pre hráčov systému Linux
Ak radi hráte hry v systéme Linux, je pravdepodobné, že ste na vylepšenie herného zážitku použili aplikácie a pomôcky ako Wine, Lutris a OBS Studio. O...