Nwlapcug.com


Come utilizzare funzioni Friend in C++

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.