Com controlar els modificadors d'accés en C++: entendre la visibilitat dels membres

Com Controlar Els Modificadors D Acces En C Entendre La Visibilitat Dels Membres



L'ocultació de dades és una de les característiques clau de C++ que es refereix a la limitació de l'accés a les dades d'una classe per evitar l'accés no desitjat a les dades d'una classe des de l'exterior. Per tant, els modificadors d'accés s'utilitzen per definir quins membres de la classe són accessibles a quina font externa i quins no.

Modificadors d'accés en C++

Els modificadors d'accés s'utilitzen per gestionar l'accessibilitat i la visibilitat de les dades d'una classe. Estableixen algunes restriccions als membres de dades perquè les funcions externes no puguin accedir-hi. Els modificadors d'accés són de tres tipus en C++:

Modificador d'accés públic en C++

Tots els membres de la classe declarats sota la paraula clau public estaran disponibles per a totes les funcions fora de la classe dins del programa. L'operador d'accés directe a membres (.) també conegut com a operador de punt es pot utilitzar amb l'objecte d'aquesta classe específica per accedir a aquests membres de dades.







Exemple

El modificador d'accés públic s'utilitza per declarar una classe i les altres funcions del programa accedeixen als seus membres de dades.



#include

#inclou

#inclou

utilitzant l'espai de noms std ;
Triangle de classe
{
públic :
flotar x , i , Amb ;
buit entrada ( )
{
cout << 'Introduïu el costat x d'un triangle:-' ;
menjant >> x ;
cout << 'Introduïu el costat y d'un triangle:-' ;
menjant >> i ;
cout << 'Introduïu el costat z d'un triangle:-' ;
menjant >> Amb ;
}
buit Àrea ( )
{
flotar s = ( x + i + Amb ) / 2 ;
flotar zona = quadrada ( s * ( s - x ) * ( s - i ) * ( s - Amb ) ) ;
cout << ' \n Àrea del triangle =' << zona ;
}
} ;
int principal ( )
{
Triangle t1 ;
t1. entrada ( ) ;
t1. Àrea ( ) ;
tornar 0 ;
}

El triangle es defineix com la classe i els seus paràmetres es troben sota la paraula clau pública. A continuació, l'àrea del triangle es calcula fora d'aquesta classe mitjançant l'accés als membres de dades del modificador públic.







Els tres costats del triangle són introduïts per l'usuari i l'àrea del triangle es calcula accedint als valors fora de la classe, utilitzant la fórmula estàndard, que és 13,4164.

Modificador d'accés privat en C++

Tots els membres de la classe declarats sota la paraula clau private no estaran disponibles per a cap funció fora de la classe del programa. Aquests membres privats només els poden llegir els membres directes de la mateixa classe. Tanmateix, les funcions i classes d'amics també poden accedir a les dades.



Exemple

Es declaren les dues classes públiques i privades, i el valor de retorn del programa ha de ser l'àrea del triangle.

#include

#inclou

#inclou

utilitzant l'espai de noms std ;
Triangle de classe
{

privat :
flotar x , i , Amb ;
públic :
buit entrada ( )

{

cout << 'Introduïu el costat x d'un triangle:-' ;
menjant >> x ;
cout << 'Introduïu el costat y d'un triangle:-' ;
menjant >> i ;
cout << 'Introduïu el costat z d'un triangle:-' ;
menjant >> Amb ;

}
buit Àrea ( )
{

flotar s = ( x + i + Amb ) / 2 ;
flotar zona = quadrada ( s * ( s - x ) * ( s - i ) * ( s - Amb ) ) ;
cout << ' \n Àrea del triangle =' << zona ;

}

} ;

int principal ( )
{
Triangle t1 ;
t1. entrada ( ) ;
t1. Àrea ( ) ;
tornar 0 ;

}

A main(), l'objecte t1 no pot accedir directament a la variable de classe privada float x, y i z, de manera que només es pot manipular indirectament mitjançant la funció pública input(), ja que aquesta funció obté els valors de x, y i z.

L'àrea del triangle s'obté accedint a la classe privada mitjançant la manipulació mitjançant classe pública. Si els valors de x, y i z no es declararan a la classe pública, no s'hi podrà accedir a la main() per als càlculs.

Modificador d'accés protegit en C++

Els membres i les funcions sota la paraula clau protegida estan protegits, només es pot accedir a ells dins de la classe i la classe derivada. La resta de classes no poden accedir a les seves dades. Estan molt protegits.

Exemple

Les dades protegides sota la paraula clau protegida només es poden llegir dins de la classe i per la classe que és la classe derivada. Aquest exemple és la demostració pràctica del modificador d'accés protegit.

#include

#inclou

#inclou

utilitzant l'espai de noms std ;
//classe dels pares
Triangle de classe
{

protegit :
flotar x , i , Amb ;
} ;
//classe infantil
classe TriangleChild : Triangle públic {
públic :
buit entrada ( )

{

cout << 'Introduïu el costat x d'un triangle:-' ;
menjant >> x ;
cout << 'Introduïu el costat y d'un triangle:-' ;
menjant >> i ;
cout << 'Introduïu el costat z d'un triangle:-' ;
menjant >> Amb ;

}
buit Àrea ( )
{
flotar s = ( x + i + Amb ) / 2 ;
flotar zona = quadrada ( s * ( s - x ) * ( s - i ) * ( s - Amb ) ) ;
cout << ' \n Àrea del triangle =' << zona ;

}
} ;

int principal ( )

{
TriangleChild Child ;
Nen. entrada ( ) ;
Nen. Àrea ( ) ;
tornar 0 ;

}

TriangleChild és una classe heretada que es deriva de la classe Triangle. Les variables x, y i z es declaren en Triangle amb la paraula clau protegida. Això vol dir que aquestes variables estan protegides però que TriangleChild pot accedir-hi ja que Triangle és la seva classe pare. Els valors de les variables s'han assignat a TriangleChild tot i que es declaren a la classe Triangle.

S'accedeix a les variables a través de la classe fill, i després es calcula l'àrea d'un triangle.

Conclusió

L'ocultació de dades impedeix l'accés no desitjat a les dades d'una classe des de l'exterior. Els modificadors d'accés s'utilitzen per gestionar l'accessibilitat i la visibilitat de les dades en un programa. S'utilitzen modificadors d'accés privat, protegit i públic per ocultar les dades. Les dades de la paraula clau pública també es poden llegir per les funcions des de fora de la classe. Les dades declarades com a privades només es poden llegir dins de la classe, mentre que la classe principal i la classe secundària també poden accedir a les dades protegides.