C ++

C ++ draugo funkcija

C ++ draugo funkcija
Funkcija yra kodo blokas, kuris atlieka tam tikrą užduotį ir pateikia išvestį. Jis daugiausia naudojamas pasikartojančiam kodui pašalinti. Šiame vadovėlyje mes išnagrinėsime draugo funkciją C ++ ir paaiškinsime jos sampratą su darbo pavyzdžiais.

Kas yra draugo funkcija?

Draugo funkcija yra ne nario funkcija, leidžianti pasiekti privačius ir saugomus klasės narius. „Draugas“ yra raktinis žodis, nurodantis, kad funkcija yra klasės draugas. Tai leidžia kompiliatoriui žinoti, kad konkreti funkcija yra nurodytos klasės draugas. Tada draugo funkcija turėtų galėti pasiekti privatų ir saugomą tam tikros klasės narį. Be draugo raktinio žodžio, ne nario išorinė funkcija gali pasiekti tik viešus klasės narius.

Pagrindinės draugo funkcijos savybės:

Čia yra pagrindiniai draugo funkcijos bruožai:

  1. Draugo funkcija nėra klasės sritis.
  2. Draugo funkcijos negalima iškviesti naudojant klasės egzempliorių.
  3. Jis gali pasiekti narius naudodamas objektų ir taškų operatorių.

Draugo funkcijos sintaksė:

Čia yra draugo funkcijos sintaksė:

klasė „Class_Name_Demo“



draugas return_Type function_Name (arg_1, arg_2,…);
;

Draugo funkcijos pavyzdys:

Dabar pažvelkime į programos pavyzdį, kad suprastume draugo funkcijos sąvoką C++. Žemiau pateiktoje programos pavyzdyje turime „Friend_Demo“ klasę. Turi tris skirtingus duomenų narių tipus, t.e., privatus, saugomas ir viešas.

Mes apibrėžėme dar vieną funkciją, t.e., „FriendDemo_Func ()“ nepriklauso „Friend_Demo“ klasei ir bandė prisijungti prie „Friend_Demo“ klasės narių (privačių, saugomų ir viešų).

Bet, kaip matote išvestyje žemiau, kai mes sudarome programą, ji išmeta kompiliavimo klaidas. Draugo funkcija tiksliai išspręs šią problemą.

# įtraukti
naudojant vardų sritį std;
klasė Draugas_Demo

privatus:
int i_privatus;
saugoma:
int i_apsaugotas;
vieša:
int i_public;
;
negaliojantis draugasDemo_Func ()

Draugas_Demo fd;
fd.i_privatus = 10;
fd.apsaugotas = 15;
fd.i_publika = 20;
cout << fd.i_private << endl;
cout << fd.i_protected << endl;
cout << fd.i_public << endl;

int main ()

friendDemo_Func ();
grąžinti 0;

Ankstesnėje programoje bandydami patekti į privačius, saugomus ir viešuosius klasės narius naudodamiesi ne nario funkcija, aptikome kompiliavimo klaidų. Taip yra todėl, kad ne nario funkcijai neleidžiama pasiekti privačių ir saugomų klasės narių iš klasės ribų.

Šiame pavyzdyje mes paskelbėme funkciją „friendDemo_Func ()“ kaip draugą klasės srities ribose, t.e., „Friend_Demo“:

draugas negalioja draugasDemo_Func ();

Mes sukūrėme objektą, t.e., „Friend_Demo“ klasės „fd“ funkcijos „friendDemo_Func ()“ viduje. Dabar naudodami taškų operatorių galime pasiekti privačius, saugomus ir viešuosius „Friend_Demo“ klasės narius. Mes paskyrėme 10, 15 ir 20 atitinkamai i_private, i_protected ir i_public.

Kaip matote žemiau esančioje išvestyje, ši programa dabar sukompiliuojama ir vykdoma be klaidų ir išspausdina išvestį, kaip tikėtasi.

# įtraukti
naudojant vardų sritį std;
klasė Draugas_Demo

privatus:
int i_privatus;
saugoma:
int i_apsaugotas;
vieša:
int i_public;
draugas negalioja draugasDemo_Func ();
;
negaliojantis draugasDemo_Func ()

Draugas_Demo fd;
fd.i_privatus = 10;
fd.apsaugotas = 15;
fd.i_publika = 20;
cout << fd.i_private << endl;
cout << fd.i_protected << endl;
cout << fd.i_public << endl;

int main ()

friendDemo_Func ();
grąžinti 0;

Išvada:

Šiame straipsnyje aš paaiškinau draugo funkcijos sąvoką C++. Aš taip pat parodžiau du veikiančius pavyzdžius, paaiškinančius, kaip draugo funkcija elgiasi C++. Kartais draugo funkcija gali būti labai naudinga sudėtingoje programavimo aplinkoje. Tačiau programuotojas turėtų būti atsargus dėl jo per didelio naudojimo ir OOP funkcijų pažeidimo.

„Microsoft Sculpt Touch“ belaidžio pelės apžvalga
Neseniai skaičiau apie „Microsoft Sculpt Touch“ belaidę pelę ir nusprendė ją nusipirkti. Kurį laiką naudojęs, nusprendžiau pasidalinti savo patirtimi....
„AppyMouse“ ekrano „Trackpad“ ir pelės žymeklis, skirtas „Windows“ tabletėms
Planšetinių kompiuterių vartotojai dažnai praleidžia pelės žymeklį, ypač kai įprasta naudoti nešiojamus kompiuterius. Jutiklinio ekrano išmanieji tele...
Vidutinis pelės mygtukas neveikia sistemoje „Windows 10“
The vidurinis pelės mygtukas padeda naršyti ilgus tinklalapius ir ekranus, kuriuose yra daug duomenų. Jei tai sustos, gerai, jūs naudosite klaviatūrą ...