C + + bietet drei Ebenen der Zugriffskontrolle innerhalb einer Klasse . Personenbezogene Daten sind nicht zugänglich Nichtmitglied Funktionen oder Klassen außerhalb . Aber manchmal müssen Sie diese Daten in einem Programm zugreifen , so müssen Sie einen Weg, um dieses C + + Regel Arbeit zu finden. Der Freund -Funktion ermöglicht ein Programmierer auf private Daten zugreifen . Lesen Sie weiter und lernen, wie man friend-Funktionen in C + + verwenden . Was Sie brauchen
Intermediate C + +
C + +-Compiler mit einer IDE
anzeigen Weitere Anweisungen
1
Finden Sie eine Klasse, die private Mitglieder hat . Denken Sie daran, dass die Daten , die Sie nicht unter einem Zugriffsmodifizierer erklären ist standardmäßig privat :
Klasse Tutorial { int
PrivateData ; //das int ist privat und wird von der Außenwelt isoliert
Öffentlichkeit :
Tutorial (): PrivateData (5); //Standardkonstruktor initialisiert PrivateData bis 5 Twitter //...
2
Erlauben Sie eine nicht- Member-Funktion in PrivateData in Schritt 1 zu lesen. Ein Nicht- Member-Funktion ist eine Funktion , die außerhalb des Unterrichts Tutorial existiert. Vor die Erklärung dieser Funktion durch den Freund Schlüsselwort und legen Sie die Linie im privaten Bereich Tutorial:
Klasse Tutorial { int
PrivateData ;
Freund nichtig Display ( ); //unsere Non- Member-Funktion
//...
Das Schlüsselwort private erzählt Klasse Tutorial , dass es Display ( ) vertrauen , obwohl es sich nicht um eines ihrer Member-Funktionen .
3
Lassen Sie andere Klasse Zugriff auf die privaten Daten der Klasse Tutorial . Die Erklärung eines Freundes Klasse ist ähnlich. Vor die Klassendeklaration durch das Schlüsselwort Freund und legen Sie die Zeile in der privaten Daten von Tutorial:
Klasse Tutorial { int
PrivateData ;
Freund nichtig Display ( );
friend class Draußen //unsere externen Klasse Twitter //...
Jetzt Klasse Außerhalb hat Zugriffsrechte auf private Daten
4
Study ein C + + -Programm, das die Konzepte Freund , wie im folgenden Code demonstriert . :
nichtig Display ( ) {
Tutorial t ; } cout
Klasse Outside {
public:
nichtig Display ( ) {
Tutorial x ;
cout };
main () {
Display ( );
Außerhalb x ;
x.Display (); }
5
sehen Sie das Ergebnis :
5
5