C ++

C ++ Friend funkció

C ++ Friend funkció
A függvény egy kódblokk, amely végrehajt egy bizonyos feladatot és biztosítja a kimenetet. Főleg az ismétlődő kódok kiküszöbölésére szolgál. Ebben az oktatóanyagban megvizsgáljuk a barát funkciót a C ++ nyelven, és működő példákkal elmagyarázzuk annak koncepcióját.

Mi a barát funkciója?

A Friend funkció egy nem tag funkció, amely hozzáférhet egy osztály privát és védett tagjaihoz. A „Friend” egy olyan kulcsszó, amelyet arra használnak, hogy jelezze, hogy egy funkció egy osztály barátja. Ez lehetővé teszi a fordító számára, hogy megtudja, hogy az adott függvény az adott osztály ismerőse. A barát funkciónak ekkor képesnek kell lennie arra, hogy hozzáférjen az adott osztály privát és védett tagjához. A barát kulcsszó nélkül a nem tag külső funkció csak az osztály nyilvános tagjaihoz férhet hozzá.

A Friend funkció főbb jellemzői:

Itt vannak a barát funkció legfontosabb jellemzői:

  1. A barát funkció nem tartozik az osztály körébe.
  2. A barát funkciót nem lehet meghívni egy osztály példányával.
  3. Az objektum és a dot operátor segítségével érheti el a tagokat.

A Friend funkció szintaxisa:

Itt van a friend függvény szintaxisa:

osztály Class_Name_Demo



friend return_Type függvény_neve (arg_1, arg_2,…);
;

Példa a Friend funkcióra:

Most nézzünk meg egy példaprogramot, hogy megértsük a C barátfüggvény fogalmát++. Az alábbi példaprogramban megvan a „Friend_Demo” osztály. Három különböző típusú adattaggal rendelkezik, azaz.e., magán, védett és nyilvános.

Meghatároztunk egy másik függvényt, azaz.e., A „friendDemo_Func ()” nem tartozik a „Friend_Demo” osztály körébe, és megpróbálta elérni a „Friend_Demo” osztály tagjait (magán, védett és nyilvános).

De amint az alábbi kimeneten látható, amikor a programot lefordítjuk, fordítási hibákat dob. A barát funkció pontosan megoldja ezt a problémát.

#include
névtér használata std;
osztály Friend_Demo

magán:
int i_private;
védett:
int i_védett;
nyilvános:
int i_public;
;
void friendDemo_Func ()

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

int main ()

friendDemo_Func ();
visszatér 0;

Az előző programban fordítási hibákat észleltünk, amikor megpróbáltuk elérni egy osztály privát, védett és nyilvános tagjait egy nem tag függvényből. Ennek oka, hogy a tagsággal nem rendelkező funkció nem fér hozzá az osztály magán- és védett tagjaihoz az osztály hatókörén kívülről.

Ebben a példában a “friendDemo_Func ()” függvényt deklaráltuk barátként az osztály hatókörén belül, i.e., „Friend_Demo”:

friend void friendDemo_Func ();

Létrehoztunk egy tárgyat, azaz.e., A „Friend_Demo” osztály „fd” a „friendDemo_Func ()” függvényen belül. Most hozzáférhetünk a „Friend_Demo” osztály magán-, védett és nyilvános tagjaihoz a dot operátor segítségével. 10, 15 és 20 rendszert rendeltünk az i_private, az i_protected és az i_public kategóriákba.

Amint az az alábbi kimeneten látható, ez a program most hibátlanul lefordításra és végrehajtásra kerül, és a kimenetet a várt módon kinyomtatja.

#include
névtér használata std;
osztály Friend_Demo

magán:
int i_private;
védett:
int i_védett;
nyilvános:
int i_public;
friend void friendDemo_Func ();
;
void friendDemo_Func ()

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

int main ()

friendDemo_Func ();
visszatér 0;

Következtetés:

Ebben a cikkben kifejtettem a barát funkciójának fogalmát a C-ben++. Két működő példát is bemutattam annak magyarázatára, hogy a barát funkció hogyan viselkedik C-ben++. Néha a barát funkció nagyon hasznos lehet egy összetett programozási környezetben. A programozónak azonban óvatosnak kell lennie a túlzott használatával és az OOP funkcióinak veszélyeztetésével szemben.

Az egérmutató és a kurzor méretének, színének és sémájának módosítása a Windows 10 rendszeren
Az egérmutató és a kurzor a Windows 10 operációs rendszerben nagyon fontos szempont. Ez elmondható más operációs rendszerekről is, tehát valójában eze...
Ingyenes és nyílt forráskódú játékmotorok a Linux játékok fejlesztéséhez
Ez a cikk felsorolja azokat az ingyenes és nyílt forráskódú játékmotorokat, amelyek felhasználhatók 2D és 3D játékok fejlesztésére Linuxon. Számos ily...
Shadow of the Tomb Raider for Linux Tutorial
A Shadow of the Tomb Raider a Tomb Raider sorozat tizenkettedik kiegészítője - az Eidos Montreal által létrehozott akció-kaland játék franchise. A ját...