C ++

C ++ vänfunktion

C ++ vänfunktion
En funktion är ett kodblock som utför en viss uppgift och ger utdata. Den används främst för att eliminera repetitiv kod. I denna handledning kommer vi att titta på vänfunktionen i C ++ och förklara dess koncept med arbetsexempel.

Vad är vänfunktion?

Vänfunktionen är en icke-medlemsfunktion som kan komma åt privata och skyddade medlemmar i en klass. “Vän” är ett nyckelord som används för att indikera att en funktion är klassens vän. Detta gör att kompilatorn kan veta att den specifika funktionen är en vän till den givna klassen. Vänfunktionen ska då kunna komma åt den privata och skyddade medlemmen i en viss klass. Utan vänordet kan en extern funktion som inte är medlem bara få tillgång till de offentliga medlemmarna i en klass.

Viktiga funktioner i vänfunktionen:

Här är de viktigaste funktionerna i vänfunktionen:

  1. En vänfunktion ingår inte i klassen.
  2. Vänfunktionen kan inte åberopas med en instans av en klass.
  3. Det kan komma åt medlemmarna med objekt- och punktoperatören.

Syntax of Friend Function:

Här är syntaxen för vänfunktionen:

klass Class_Name_Demo

..
..
vän returnera_typfunktionsnamn (arg_1, arg_2,…);
;

Exempel på vänfunktion:

Låt oss nu titta på ett exempelprogram för att förstå konceptet med vänfunktionen i C++. I nedanstående exempelprogram har vi klassen “Friend_Demo”. Den har tre olika typer av datamedlemmar, dvs.e., privata, skyddade och offentliga.

Vi har definierat en annan funktion, i.e., “FriendDemo_Func ()” utanför ramen för "Friend_Demo" -klassen och försökte få tillgång till medlemmarna (privata, skyddade och offentliga) i klassen "Friend_Demo".

Men som du kan se i utdata nedan när vi sammanställer programmet, kastar det kompileringsfel. Vänfunktionen kommer att lösa detta problem exakt.

#omfatta
använder namnrymd std;
klass Friend_Demo

privat:
int i_private;
skyddad:
int i_protected;
offentlig:
int i_public;
;
ogiltig vänDemo_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 ();
returnera 0;

I det föregående programmet fick vi kompileringsfel när vi försökte komma åt privata, skyddade och offentliga medlemmar i en klass från en icke-medlem-funktion. Detta beror på att en funktion som inte är medlem inte får tillgång till privata och skyddade medlemmar i en klass utanför klassens räckvidd.

Nu, i det här exemplet, har vi förklarat att "friendDemo_Func ()" fungerar som en vän inom klassens räckvidd, i.e., “Friend_Demo”:

vän ogiltig friendDemo_Func ();

Vi har skapat ett objekt, dvs.e., “Fd” i “Friend_Demo” -klassen i “friendDemo_Func ()” -funktionen. Nu kan vi komma åt privata, skyddade och offentliga medlemmar i klassen “Friend_Demo” med hjälp av punktoperatören. Vi har tilldelat 10, 15 och 20 till i_private, i_protected respektive i_public.

Som du kan se i utdata nedan sammanställs och körs det här programmet utan några fel och skriver ut resultatet som förväntat.

#omfatta
använder namnrymd std;
klass Friend_Demo

privat:
int i_private;
skyddad:
int i_protected;
offentlig:
int i_public;
vän ogiltig friendDemo_Func ();
;
ogiltig vänDemo_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 ();
returnera 0;

Slutsats:

I den här artikeln har jag förklarat begreppet vänfunktion i C++. Jag har också visat två arbetsexempel för att förklara hur vänfunktionen beter sig i C++. Ibland kan vänfunktionen vara mycket användbar i en komplex programmeringsmiljö. En programmerare bör dock vara försiktig med att överanvända den och äventyra dess OOP-funktioner.

Mus Emulera musklick genom att sväva med Clickless Mouse i Windows 10
Emulera musklick genom att sväva med Clickless Mouse i Windows 10
Att använda en mus eller tangentbord i fel hållning av överdriven användning kan resultera i många hälsoproblem, inklusive stam, karpaltunnelsyndrom o...
Mus Lägg till musgester i Windows 10 med dessa gratisverktyg
Lägg till musgester i Windows 10 med dessa gratisverktyg
Under senare år har datorer och operativsystem utvecklats kraftigt. Det fanns en tid då användare var tvungna att använda kommandon för att navigera g...
Mus Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Dual Display Mouse Manager låter dig kontrollera och konfigurera musrörelser mellan flera skärmar genom att sakta ner dess rörelser nära gränsen. Wind...