Come controllare i modificatori di accesso in C++: comprensione della visibilità dei membri

Come Controllare I Modificatori Di Accesso In C Comprensione Della Visibilita Dei Membri



L'occultamento dei dati è una delle funzionalità chiave di C++ che si riferisce alla limitazione dell'accesso ai dati in una classe per impedire l'accesso indesiderato ai dati di una classe dall'esterno. Quindi, i modificatori di accesso vengono utilizzati per definire quali membri della classe sono accessibili a quale fonte esterna e quale no.

Modificatori di accesso in C++

I modificatori di accesso vengono utilizzati per gestire l'accessibilità e la visibilità dei dati di una classe. Impostano alcune restrizioni ai membri dei dati in modo che non siano accessibili alle funzioni esterne. I modificatori di accesso sono di tre tipi in C++:

Modificatore di accesso pubblico in C++

Tutti i membri della classe dichiarati con la parola chiave public saranno disponibili per tutte le funzioni esterne alla classe all'interno del programma. L'operatore di accesso diretto ai membri (.), noto anche come operatore punto, può essere utilizzato con l'oggetto di quella classe specifica per accedere a questi membri dati.







Esempio

Il modificatore di accesso pubblico viene utilizzato per dichiarare una classe e ai suoi membri dati accedono le altre funzioni all'interno del programma.



#include

#include

#include

utilizzando lo spazio dei nomi std ;
Triangolo di classe
{
pubblico :
galleggiante X , E , Con ;
vuoto ingresso ( )
{
cout << 'Inserisci il lato x di un triangolo:-' ;
mangiare >> X ;
cout << 'Inserisci il lato y di un triangolo:-' ;
mangiare >> E ;
cout << 'Inserisci il lato z di un triangolo:-' ;
mangiare >> Con ;
}
vuoto La zona ( )
{
galleggiante S = ( X + E + Con ) / 2 ;
galleggiante la zona = mq ( S * ( S - X ) * ( S - E ) * ( S - Con ) ) ;
cout << ' \N Area del triangolo =' << la zona ;
}
} ;
int principale ( )
{
Triangolo t1 ;
t1. ingresso ( ) ;
t1. La zona ( ) ;
ritorno 0 ;
}

Il Triangolo è definito come la classe e i suoi parametri sono sotto la parola chiave public. Quindi l'area del triangolo viene calcolata all'esterno di questa classe accedendo ai membri dati del modificatore pubblico.







I tre lati del triangolo vengono inseriti dall'utente e l'area del triangolo viene calcolata accedendo ai valori esterni alla classe, utilizzando la formula standard, che è 13.4164.

Modificatore di accesso privato in C++

Tutti i membri della classe dichiarati con la parola chiave private non saranno disponibili per nessuna funzione esterna alla classe nel programma. Questi membri privati ​​possono essere letti solo dai membri diretti all'interno della stessa classe. Tuttavia, anche le funzioni e le classi degli amici possono accedere ai dati.



Esempio

Vengono dichiarate le due classi public e private e il valore restituito dal programma sarà l'area del triangolo.

#include

#include

#include

utilizzando lo spazio dei nomi std ;
Triangolo di classe
{

privato :
galleggiante X , E , Con ;
pubblico :
vuoto ingresso ( )

{

cout << 'Inserisci il lato x di un triangolo:-' ;
mangiare >> X ;
cout << 'Inserisci il lato y di un triangolo:-' ;
mangiare >> E ;
cout << 'Inserisci il lato z di un triangolo:-' ;
mangiare >> Con ;

}
vuoto La zona ( )
{

galleggiante S = ( X + E + Con ) / 2 ;
galleggiante la zona = mq ( S * ( S - X ) * ( S - E ) * ( S - Con ) ) ;
cout << ' \N Area del triangolo =' << la zona ;

}

} ;

int principale ( )
{
Triangolo t1 ;
t1. ingresso ( ) ;
t1. La zona ( ) ;
ritorno 0 ;

}

In main(), l'oggetto t1 non può accedere direttamente alla variabile della classe privata float x, yez, quindi può essere manipolato solo indirettamente tramite la funzione pubblica input(), poiché questa funzione ottiene i valori di x, y e z.

L'area del triangolo si ottiene accedendo alla classe privata manipolandola utilizzando la classe pubblica. Se i valori di x, y e z non verranno dichiarati nella classe pubblica, non sarà possibile accedervi in ​​main() per i calcoli.

Modificatore di accesso protetto in C++

I membri e le funzioni sotto la parola chiave protected sono protetti, è possibile accedervi solo all'interno della classe e della classe derivata. Il resto delle classi non può accedere ai propri dati. Sono altamente protetti.

Esempio

I dati protetti con la parola chiave protected possono essere letti solo all'interno della classe e dalla classe che è la classe derivata. Questo esempio è la dimostrazione pratica del modificatore di accesso protetto.

#include

#include

#include

utilizzando lo spazio dei nomi std ;
//classe genitore
Triangolo di classe
{

protetto :
galleggiante X , E , Con ;
} ;
//classe bambino
classe TriangleChild : Triangolo pubblico {
pubblico :
vuoto ingresso ( )

{

cout << 'Inserisci il lato x di un triangolo:-' ;
mangiare >> X ;
cout << 'Inserisci il lato y di un triangolo:-' ;
mangiare >> E ;
cout << 'Inserisci il lato z di un triangolo:-' ;
mangiare >> Con ;

}
vuoto La zona ( )
{
galleggiante S = ( X + E + Con ) / 2 ;
galleggiante la zona = mq ( S * ( S - X ) * ( S - E ) * ( S - Con ) ) ;
cout << ' \N Area del triangolo =' << la zona ;

}
} ;

int principale ( )

{
Bambino Triangolo ;
Bambino. ingresso ( ) ;
Bambino. La zona ( ) ;
ritorno 0 ;

}

TriangleChild è una classe ereditata derivata dalla classe Triangle. Le variabili x, yez sono dichiarate in Triangle con la parola chiave protected. Ciò significa che queste variabili sono protette ma sono accessibili da TriangleChild poiché Triangle è la sua classe genitore. I valori delle variabili sono stati assegnati in TriangleChild anche se sono dichiarati nella classe Triangle.

Si accede alle variabili tramite la classe figlia, quindi viene calcolata l'area di un triangolo.

Conclusione

L'occultamento dei dati impedisce l'accesso indesiderato ai dati di una classe dall'esterno. I modificatori di accesso vengono utilizzati per gestire l'accessibilità e la visibilità dei dati in un programma. I modificatori di accesso privato, protetto e pubblico vengono utilizzati per nascondere i dati. I dati sotto la parola chiave public possono essere letti anche dalle funzioni esterne alla classe. I dati dichiarati come privati ​​possono essere letti solo all'interno della classe, mentre ai dati protetti possono accedere anche la classe genitore e quella figlia.