Kā kontrolēt piekļuves pārveidotājus programmā C++: Izpratne par dalībnieku redzamību

Ka Kontrolet Piekluves Parveidotajus Programma C Izpratne Par Dalibnieku Redzamibu



Datu slēpšana ir viena no galvenajām C++ iezīmēm, kas attiecas uz datu pieejamības ierobežošanu klasē, lai novērstu nevēlamu piekļuvi klases datiem no ārpuses. Tādējādi piekļuves modifikatori tiek izmantoti, lai noteiktu, kuri klases locekļi ir pieejami kādam ārējam avotam un kuri nē.

Piekļūstiet modifikatoriem programmā C++

Piekļuves modifikatori tiek izmantoti, lai pārvaldītu klases datu pieejamību un redzamību. Tie nosaka dažus ierobežojumus datu dalībniekiem, lai tiem nevarētu piekļūt ārējās funkcijas. Programmā C++ ir trīs veidu piekļuves modifikatori:

Publiskās piekļuves pārveidotājs programmā C++

Visi ar atslēgvārdu public deklarētie klases dalībnieki programmā būs pieejami visām funkcijām ārpus klases. Tiešās dalībnieku piekļuves operatoru (.), kas pazīstams arī kā punktu operators, var izmantot ar šīs konkrētās klases objektu, lai piekļūtu šiem datu dalībniekiem.







Piemērs

Publiskās piekļuves modifikators tiek izmantots, lai deklarētu klasi, un tās datu locekļiem piekļūst citas programmas funkcijas.



#include

#include

#include

izmantojot namespace std ;
klases trīsstūris
{
publiski :
peldēt x , un , Ar ;
nederīgs ievade ( )
{
cout << 'Ievadiet trīsstūra malu x:-' ;
ēšana >> x ;
cout << 'Ievadiet trīsstūra malu y:-' ;
ēšana >> un ;
cout << 'Ievadiet trīsstūra malu z:-' ;
ēšana >> Ar ;
}
nederīgs Apgabals ( )
{
peldēt s = ( x + un + Ar ) / 2 ;
peldēt apgabalā = sqrt ( s * ( s - x ) * ( s - un ) * ( s - Ar ) ) ;
cout << ' \n Trīsstūra = laukums << apgabalā ;
}
} ;
starpt galvenais ( )
{
Trijstūris t1 ;
t1. ievade ( ) ;
t1. Apgabals ( ) ;
atgriezties 0 ;
}

Trīsstūris ir definēts kā klase, un tās parametri atrodas zem publiskā atslēgvārda. Tad trijstūra laukums tiek aprēķināts ārpus šīs klases, piekļūstot publiskā modifikatora datu dalībniekiem.







Trīsstūra trīs malas ievada lietotājs, un trijstūra laukums tiek aprēķināts, piekļūstot vērtībām ārpus klases, izmantojot standarta formulu, kas ir 13.4164.

Privātās piekļuves pārveidotājs programmā C++

Visi klases dalībnieki, kas deklarēti ar atslēgvārdu privāti, programmā nebūs pieejami nevienai funkcijai ārpus klases. Šos privātos dalībniekus var lasīt tikai tiešie dalībnieki tajā pašā klasē. Tomēr datiem var piekļūt arī draugu funkcijas un klases.



Piemērs

Divas klases publiskās un privātās ir deklarētas, un programmas atgriešanas vērtībai ir jābūt trīsstūra laukumam.

#include

#include

#include

izmantojot namespace std ;
klases trīsstūris
{

Privāts :
peldēt x , un , Ar ;
publiski :
nederīgs ievade ( )

{

cout << 'Ievadiet trīsstūra malu x:-' ;
ēšana >> x ;
cout << 'Ievadiet trīsstūra malu y:-' ;
ēšana >> un ;
cout << 'Ievadiet trīsstūra malu z:-' ;
ēšana >> Ar ;

}
nederīgs Apgabals ( )
{

peldēt s = ( x + un + Ar ) / 2 ;
peldēt apgabalā = sqrt ( s * ( s - x ) * ( s - un ) * ( s - Ar ) ) ;
cout << ' \n Trīsstūra = laukums << apgabalā ;

}

} ;

starpt galvenais ( )
{
Trijstūris t1 ;
t1. ievade ( ) ;
t1. Apgabals ( ) ;
atgriezties 0 ;

}

Main () objekts t1 nevar tieši piekļūt privātās klases mainīgajam float x, y un z, tāpēc ar to var manipulēt tikai netieši, izmantojot publisko funkciju input (), jo šī funkcija iegūst x, y un z vērtības.

Trijstūra laukumu iegūst, piekļūstot privātajai klasei, manipulējot ar to, izmantojot publisko klasi. Ja x, y un z vērtības netiks deklarētas publiskajā klasē, tad tām nevarēs piekļūt galvenajā () aprēķiniem.

Aizsargātas piekļuves modifikators programmā C++

Aizsargātā atslēgvārda dalībnieki un funkcijas ir aizsargāti, tiem var piekļūt tikai klasē un atvasinātajā klasē. Pārējās klases nevar piekļūt saviem datiem. Tie ir ļoti aizsargāti.

Piemērs

Aizsargātos datus zem aizsargātā atslēgvārda var nolasīt tikai klasē un klasē, kas ir atvasinātā klase. Šis piemērs ir aizsargātās piekļuves modifikatora praktisks demonstrējums.

#include

#include

#include

izmantojot namespace std ;
//vecāku klase
klases trīsstūris
{

aizsargāts :
peldēt x , un , Ar ;
} ;
//bērnu klase
klases TrīsstūrisBērns : publiskais trīsstūris {
publiski :
nederīgs ievade ( )

{

cout << 'Ievadiet trīsstūra malu x:-' ;
ēšana >> x ;
cout << 'Ievadiet trīsstūra malu y:-' ;
ēšana >> un ;
cout << 'Ievadiet trīsstūra malu z:-' ;
ēšana >> Ar ;

}
nederīgs Apgabals ( )
{
peldēt s = ( x + un + Ar ) / 2 ;
peldēt apgabalā = sqrt ( s * ( s - x ) * ( s - un ) * ( s - Ar ) ) ;
cout << ' \n Trīsstūra = laukums << apgabalā ;

}
} ;

starpt galvenais ( )

{
TrīsstūrisBērns bērns ;
Bērns. ievade ( ) ;
Bērns. Apgabals ( ) ;
atgriezties 0 ;

}

TriangleChild ir mantota klase, kas ir atvasināta no klases Triangle. Mainīgie lielumi x, y un z tiek deklarēti trīsstūrī ar aizsargāto atslēgvārdu. Tas nozīmē, ka šie mainīgie ir aizsargāti, bet tiem var piekļūt ar TriangleChild, jo Triangle ir tā vecāku klase. Mainīgo vērtības ir piešķirtas TriangleChild, lai gan tās ir deklarētas klasē Triangle.

Mainīgajiem lielumiem var piekļūt, izmantojot bērnu klasi, un pēc tam tiek aprēķināts trīsstūra laukums.

Secinājums

Datu slēpšana novērš nevēlamu piekļuvi klases datiem no ārpuses. Piekļuves modifikatori tiek izmantoti, lai pārvaldītu programmas datu pieejamību un redzamību. Datu slēpšanai tiek izmantoti privātie, aizsargātie un publiskās piekļuves modifikatori. Datus zem publiskā atslēgvārda var nolasīt arī funkcijas ārpus klases. Datus, kas deklarēti kā privāti, var lasīt tikai klasē, savukārt aizsargātajiem datiem var piekļūt arī vecāki un bērnu klase.