Ako ovládať modifikátory prístupu v C++: Pochopenie viditeľnosti členov

Ako Ovladat Modifikatory Pristupu V C Pochopenie Viditelnosti Clenov



Skrytie údajov je jednou z kľúčových funkcií C++, ktorá sa týka obmedzenia prístupu k údajom v triede, aby sa zabránilo nežiaducemu prístupu k údajom triedy zvonku. Modifikátory prístupu sa teda používajú na definovanie toho, ktorí členovia triedy sú prístupní pre ktorý vonkajší zdroj a ktorí nie.

Modifikátory prístupu v C++

Modifikátory prístupu sa používajú na riadenie dostupnosti a viditeľnosti údajov triedy. Nastavujú určité obmedzenia na dátových členov, aby k nim nemohli pristupovať vonkajšie funkcie. Modifikátory prístupu sú v C++ tri typy:

Modifikátor verejného prístupu v C++

Všetci členovia triedy deklarovaní pod kľúčovým slovom public budú dostupní pre všetky funkcie mimo triedy v rámci programu. Operátor priameho prístupu člena (.), tiež známy ako bodový operátor, možno použiť s objektom tejto špecifickej triedy na prístup k týmto dátovým členom.







Príklad

Modifikátor verejného prístupu sa používa na deklarovanie triedy a k jej dátovým členom majú prístup ostatné funkcie v rámci programu.



#include

#include

#include

pomocou menného priestoru std ;
Triangle Triangle
{
verejnosti :
plavák X , a , s ;
neplatné vstup ( )
{
cout << 'Zadajte stranu x trojuholníka:-' ;
jedenie >> X ;
cout << 'Zadajte stranu y trojuholníka:-' ;
jedenie >> a ;
cout << 'Zadajte stranu z trojuholníka:-' ;
jedenie >> s ;
}
neplatné Oblasť ( )
{
plavák s = ( X + a + s ) / 2 ;
plavák oblasť = sqrt ( s * ( s - X ) * ( s - a ) * ( s - s ) ) ;
cout << ' \n Oblasť trojuholníka = << oblasť ;
}
} ;
int Hlavná ( )
{
Trojuholník t1 ;
t1. vstup ( ) ;
t1. Oblasť ( ) ;
vrátiť 0 ;
}

Triangle je definovaný ako trieda a jej parametre sú pod kľúčovým slovom public. Potom sa plocha trojuholníka vypočíta mimo tejto triedy prostredníctvom prístupu k dátovým členom verejného modifikátora.







Tri strany trojuholníka zadá používateľ a plocha trojuholníka sa vypočíta prístupom k hodnotám mimo triedy pomocou štandardného vzorca, ktorým je 13,4164.

Modifikátor súkromného prístupu v C++

Všetci členovia triedy deklarovaní pod kľúčovým slovom private nebudú v programe dostupní pre žiadnu funkciu mimo triedy. Týchto súkromných členov môžu čítať iba priami členovia v rámci rovnakej triedy. K údajom však môžu pristupovať aj funkcie priateľov a triedy.



Príklad

Dve triedy public a private sú deklarované a návratová hodnota programu má byť oblasť trojuholníka.

#include

#include

#include

pomocou menného priestoru std ;
Triangle Triangle
{

súkromné :
plavák X , a , s ;
verejnosti :
neplatné vstup ( )

{

cout << 'Zadajte stranu x trojuholníka:-' ;
jedenie >> X ;
cout << 'Zadajte stranu y trojuholníka:-' ;
jedenie >> a ;
cout << 'Zadajte stranu z trojuholníka:-' ;
jedenie >> s ;

}
neplatné Oblasť ( )
{

plavák s = ( X + a + s ) / 2 ;
plavák oblasť = sqrt ( s * ( s - X ) * ( s - a ) * ( s - s ) ) ;
cout << ' \n Oblasť trojuholníka = << oblasť ;

}

} ;

int Hlavná ( )
{
Trojuholník t1 ;
t1. vstup ( ) ;
t1. Oblasť ( ) ;
vrátiť 0 ;

}

V main() nemôže objekt t1 priamo pristupovať k premennej súkromnej triedy float x, y a z, takže s ním možno manipulovať iba nepriamo cez vstup verejnej funkcie (), keďže táto funkcia získava hodnoty x, y a z.

Oblasť trojuholníka sa získa prístupom k súkromnej triede prostredníctvom manipulácie s ňou pomocou verejnej triedy. Ak hodnoty x, y a z nebudú deklarované vo verejnej triede, nebudú prístupné v main() na výpočty.

Modifikátor chráneného prístupu v C++

Členovia a funkcie pod chráneným kľúčovým slovom sú chránené, možno k nim pristupovať iba v rámci triedy a odvodenej triedy. Zvyšok tried nemá prístup k svojim údajom. Sú vysoko chránené.

Príklad

Chránené údaje pod kľúčovým slovom protected možno čítať iba v rámci triedy a triedou, ktorá je odvodenou triedou. Tento príklad je praktickou ukážkou modifikátora chráneného prístupu.

#include

#include

#include

pomocou menného priestoru std ;
//rodičovská trieda
Triangle Triangle
{

chránené :
plavák X , a , s ;
} ;
//trieda detí
trieda TriangleChild : verejný trojuholník {
verejnosti :
neplatné vstup ( )

{

cout << 'Zadajte stranu x trojuholníka:-' ;
jedenie >> X ;
cout << 'Zadajte stranu y trojuholníka:-' ;
jedenie >> a ;
cout << 'Zadajte stranu z trojuholníka:-' ;
jedenie >> s ;

}
neplatné Oblasť ( )
{
plavák s = ( X + a + s ) / 2 ;
plavák oblasť = sqrt ( s * ( s - X ) * ( s - a ) * ( s - s ) ) ;
cout << ' \n Oblasť trojuholníka = << oblasť ;

}
} ;

int Hlavná ( )

{
TriangleChild Child ;
Dieťa. vstup ( ) ;
Dieťa. Oblasť ( ) ;
vrátiť 0 ;

}

TriangleChild je zdedená trieda, ktorá je odvodená od triedy Triangle. Premenné x, y a z sú deklarované v trojuholníku s kľúčovým slovom protected. To znamená, že tieto premenné sú chránené, ale môžu k nim pristupovať TriangleChild, pretože Triangle je jeho rodičovská trieda. Hodnoty premenných boli priradené v TriangleChild, aj keď sú deklarované v triede Triangle.

K premenným sa pristupuje cez podradenú triedu a potom sa vypočíta plocha trojuholníka.

Záver

Skrytie údajov zabraňuje nechcenému prístupu k údajom triedy zvonku. Modifikátory prístupu sa používajú na riadenie dostupnosti a viditeľnosti údajov v programe. Na skrytie údajov sa používajú modifikátory súkromného, ​​chráneného a verejného prístupu. Údaje pod kľúčovým slovom public môžu funkcie čítať aj mimo triedy. Údaje deklarované ako súkromné ​​je možné čítať iba v rámci triedy, zatiaľ čo k chráneným údajom má prístup aj rodičovská a podriadená trieda.