C++ offre tre livelli di controllo di accesso di dati all'interno di una classe. Dati privati non sono accessibili da funzioni non membro o all'esterno di classi. Ma a volte è necessario accedere a questi dati in un programma, quindi è necessario trovare un modo per aggirare questa regola di C++. La funzionalità friend consente un programmatore accedere ai dati privati. Continua a leggere per imparare a utilizzare amico funzioni in C++.
Istruzioni
1
Trovare una classe con membri privati. Ricorda che i dati che non dichiari sotto un modificatore di accesso sono privati per impostazione predefinita:
Classe {Tutorial
int privateData; Questo int è privato ed è isolato dal mondo esterno
pubblico:
Tutorial(): privateData(5); Costruttore predefinito inizializza privateData a 5
// ...
2
Consentire una funzione non-membro a leggere privateData nel passaggio 1. Una funzione non-membro è qualsiasi funzione che esiste di fuori classe Tutorial. Precedere la dichiarazione di tale funzione la parola chiave friend e inserire la riga nella parte privata del Tutorial:
Classe {Tutorial
int privateData;
Friend Sub display (); la nostra funzione non-membro
// ...
La parola chiave private classe Tutorial dice che può fidare di display (), anche se non si tratta di una delle sue funzioni di membro.
3
Lasciare che un'altra classe di accedere ai dati privati di classe Tutorial. La dichiarazione di una classe di amico è simile. Precedere la dichiarazione di classe entro la parola chiave friend e inserire la riga nell'area dati privati di Tutorial:
Classe {Tutorial
int privateData;
Friend Sub display ();
classe Friend all'esterno; la nostra classe esterna
// ...
Ora la classe all'esterno ha privilegi di accesso ai dati privati.
4
Studiare un programma C++ che illustra i concetti di amico, come nel codice seguente:
void display () {
Tutorial t;
cout << t.privateData << endl;
}
Classe fuori {
pubblico:
void display () {
Tutorial x;
cout << x.Display() << endl;
};
Main () {
Display ();
Esterno x;
x.Display();
}
5
Vedere il risultato:
5
5
Consigli & Avvertenze
- Amico di uso con buon giudizio. Bjarne Stoustrup (finestra di progettazione di C++) creato il modificatore di accesso private per una buona ragione: incapsulamento e sicurezza dei dati. In altre parole, non usare "amico" come un hacker.