C ++

Funkce C ++ Friend

Funkce C ++ Friend
Funkce je blok kódu, který provádí určitý úkol a poskytuje výstup. Používá se hlavně k eliminaci opakovaného kódu. V tomto tutoriálu se podíváme na funkci friend v C ++ a vysvětlíme její koncept na pracovních příkladech.

Co je funkce přítele?

Funkce Friend je nečlenská funkce, která má přístup k soukromým a chráněným členům třídy. „Přítel“ je klíčové slovo používané k označení, že funkce je přítelem třídy. To umožňuje kompilátoru vědět, že konkrétní funkce je přítelem dané třídy. Funkce friend by pak měla mít přístup k soukromému a chráněnému členovi dané třídy. Bez klíčového slova friend má nečlenská vnější funkce přístup pouze k veřejným členům třídy.

Klíčové vlastnosti funkce Friend:

Zde jsou klíčové vlastnosti funkce přítele:

  1. Funkce přátel není v rozsahu třídy.
  2. Funkci friend nelze vyvolat pomocí instance třídy.
  3. Může přistupovat ke členům pomocí operátoru objektu a tečky.

Syntaxe funkce Friend:

Zde je syntaxe funkce friend:

třída Class_Name_Demo



přítel return_Type function_Name (arg_1, arg_2, ...);
;

Příklad funkce přítele:

Nyní se podívejme na ukázkový program, abychom porozuměli pojmu funkce přítele v C++. V níže uvedeném ukázkovém programu máme třídu „Friend_Demo“. Má tři různé typy datových členů, tj.E., soukromé, chráněné a veřejné.

Definovali jsme další funkci, tj.E., „FriendDemo_Func ()“ mimo rozsah třídy „Friend_Demo“ a pokusil se získat přístup k členům (soukromé, chráněné a veřejné) třídy „Friend_Demo“.

Ale jak vidíte na výstupu níže, když kompilujeme program, hodí chyby kompilace. Funkce Friend tento problém přesně vyřeší.

#zahrnout
pomocí jmenného prostoru std;
třída Friend_Demo

soukromé:
int i_private;
chráněný:
int i_protected;
veřejnost:
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 předchozím programu se nám při pokusu o přístup k soukromým, chráněným a veřejným členům třídy z nečlenské funkce zobrazovaly chyby kompilace. Důvodem je, že nečlenská funkce nemá povolen přístup k soukromým a chráněným členům třídy mimo rozsah třídy.

V tomto příkladu jsme nyní deklarovali funkci „friendDemo_Func ()“ jako přítele v rámci třídy, i.E., „Friend_Demo“:

friend void friendDemo_Func ();

Vytvořili jsme objekt, tj.E., „Fd“ třídy „Friend_Demo“ uvnitř funkce „friendDemo_Func ()“. Nyní můžeme přistupovat k soukromým, chráněným a veřejným členům třídy „Friend_Demo“ pomocí operátoru tečka. Přiřadili jsme 10, 15 a 20 k i_private, i_protected a i_public.

Jak vidíte na výstupu níže, tento program je nyní kompilován a spuštěn bez jakýchkoli chyb a tiskne výstup podle očekávání.

#zahrnout
pomocí jmenného prostoru std;
třída Friend_Demo

soukromé:
int i_private;
chráněný:
int i_protected;
veřejnost:
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ávěr:

V tomto článku jsem vysvětlil koncept funkce přítele v jazyce C++. Také jsem ukázal dva pracovní příklady, abych vysvětlil, jak se funkce friend chová v C++. Funkce přátel může být někdy velmi užitečná v komplexním programovacím prostředí. Programátor by však měl být opatrný, pokud jde o jeho nadužívání a kompromitování jeho funkcí OOP.

Hry Porty komerčních her s otevřeným zdrojovým kódem
Porty komerčních her s otevřeným zdrojovým kódem
Zdarma, s otevřeným zdrojovým kódem a multiplatformní herní enginy lze hrát staré i některé z poměrně nedávných herních titulů. Tento článek uvede sez...
Hry Nejlepší hry z příkazového řádku pro Linux
Nejlepší hry z příkazového řádku pro Linux
Příkazový řádek není při používání Linuxu jen vaším největším spojencem - může být také zdrojem zábavy, protože jej můžete použít k hraní mnoha zábavn...
Hry Nejlepší aplikace pro mapování gamepadu pro Linux
Nejlepší aplikace pro mapování gamepadu pro Linux
Pokud rádi hrajete hry na Linuxu s gamepadem místo typického vstupního systému pro klávesnici a myš, máte k dispozici několik užitečných aplikací. Mno...