C ++

Funcția prieten C ++

Funcția prieten C ++
O funcție este un bloc de cod care efectuează o anumită sarcină și furnizează ieșirea. Este utilizat în principal pentru a elimina codul repetitiv. În acest tutorial, vom analiza funcția prieten în C ++ și vom explica conceptul său cu exemple de lucru.

Ce este funcția prieten?

Funcția prieten este o funcție care nu este membru, care poate accesa membrii privați și protejați ai unei clase. „Prieten” este un cuvânt cheie folosit pentru a indica faptul că o funcție este prietenul unei clase. Acest lucru permite compilatorului să știe că funcția specială este un prieten al clasei date. Funcția prieten ar trebui să poată accesa membrul privat și protejat al unei clase date. Fără cuvântul cheie prieten, o funcție externă non-membru poate accesa doar membrii publici ai unei clase.

Caracteristici cheie ale funcției prieten:

Iată principalele caracteristici ale funcției de prietenie:

  1. O funcție de prieten nu se află în sfera clasei.
  2. Funcția prieten nu poate fi invocată folosind o instanță a unei clase.
  3. Poate accesa membrii folosind operatorul obiect și punct.

Sintaxa funcției prieten:

Iată sintaxa funcției prieten:

class Class_Name_Demo

..
..
prieten return_Type function_Name (arg_1, arg_2, ...);
;

Exemplu de funcție prieten:

Acum, haideți să analizăm un exemplu de program pentru a înțelege conceptul funcției prieten în C++. În exemplul de mai jos, avem clasa „Friend_Demo”. Are trei tipuri diferite de membri ai datelor, i.e., privat, protejat și public.

Am definit o altă funcție, i.e., „FriendDemo_Func ()” în afara scopului clasei „Friend_Demo” și a încercat să acceseze membrii (privați, protejați și publici) ai clasei „Friend_Demo”.

Dar, după cum puteți vedea în rezultatul de mai jos atunci când compilăm programul, acesta aruncă erori de compilare. Funcția prieten va rezolva exact această problemă.

#include
folosind spațiul de nume std;
clasa Friend_Demo

privat:
int i_privat;
protejat:
int i_protejat;
public:
int i_public;
;
void friendDemo_Func ()

Friend_Demo fd;
fd.i_privat = 10;
fd.i_protejat = 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;

În programul anterior, primeam erori de compilare în timp ce încercam să accesăm membrii privați, protejați și publici ai unei clase dintr-o funcție non-membru. Acest lucru se datorează faptului că o funcție non-membru nu are permisiunea de a accesa membrii privați și protejați ai unei clase din afara domeniului clasei.

Acum, în acest exemplu, am declarat funcția „friendDemo_Func ()” ca prieten în cadrul clasei, i.e., „Friend_Demo”:

prieten void prietenDemo_Func ();

Am creat un obiect, i.e., „Fd” al clasei „Friend_Demo” din funcția „friendDemo_Func ()”. Acum, putem accesa membrii privați, protejați și publici ai clasei „Friend_Demo” folosind operatorul punct. Am atribuit 10, 15 și 20 lui i_private, i_protected și i_public, respectiv.

După cum puteți vedea în rezultatul de mai jos, acest program este acum compilat și executat fără erori și imprimă ieșirea așa cum era de așteptat.

#include
folosind spațiul de nume std;
clasa Friend_Demo

privat:
int i_privat;
protejat:
int i_protejat;
public:
int i_public;
prieten void prietenDemo_Func ();
;
void friendDemo_Func ()

Friend_Demo fd;
fd.i_privat = 10;
fd.i_protejat = 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;

Concluzie:

În acest articol, am explicat conceptul funcției prieten în C++. Am arătat, de asemenea, două exemple de lucru pentru a explica cum se comportă funcția prieten în C++. Uneori, funcția prieten poate fi foarte utilă într-un mediu complex de programare. Cu toate acestea, un programator ar trebui să fie precaut cu privire la utilizarea excesivă a acestuia și compromiterea caracteristicilor sale OOP.

How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Motoare de jocuri gratuite și open source pentru dezvoltarea jocurilor Linux
Acest articol va acoperi o listă de motoare de jocuri gratuite și open source care pot fi utilizate pentru dezvoltarea jocurilor 2D și 3D pe Linux. Ex...
Tutorial Shadow of the Tomb Raider pentru Linux
Shadow of the Tomb Raider este a douăsprezecea completare a seriei Tomb Raider - o franciză de jocuri de acțiune-aventură creată de Eidos Montreal. Jo...