C + + tilbyder tre niveauer af data adgangskontrol inde i en klasse. Private data er ikke tilgængelige ved tredjelande funktioner eller uden klasser. Men nogle gange er du nødt til at få adgang til disse data i et program , så du er nødt til at finde en måde at omgå dette C + + reglen. Den ven funktion lader en programmør få adgang til private data. Læs videre for at lære at bruge ven -funktioner i C + + . Ting du skal
Intermediate C + + Online C + + compiler med en IDE
Vis Flere Instruktioner
1
Find en klasse, der har private medlemmer. Husk, at data , som du ikke erklærer under en adgang modifier er privat som standard : Hej class Tutorial {
int privateData //denne int er privat og isoleret fra omverdenen
public: < br > Tutorial (): privateData (5 ) //default constructor initialiserer privateData til 5
//...
2
Tillad et tredjeland funktion til at læse privateData i trin 1 . Et ikke- medlem funktion er nogen funktion , der eksisterer uden for klassen Tutorial . Forud for erklæringen af denne funktion ved ven søgeord og indsæt linjen i det private område på Tutorial : Hej class Tutorial {
int privateData ,
ven void Display ( ) //vores ikke- medlem -funktion < br > //... fotos private søgeord fortæller klasse Tutorial , at det kan stole på Display ( ) , selvom det er ikke en af sine medlemsvirksomheder funktioner.
3
Lad en anden klasse adgang til private data i klasse Tutorial . Erklæringen af en ven klasse er ens. Forud for klassen erklæring fra ven søgeord og indsæt linje i private data området Tutorial : Hej class Tutorial {
int privateData ,
ven void Display ();
friend class Udenfor //vores eksterne klasse
//...
Now klasse Udenfor har adgangsrettigheder til private data
4
Study et C + + program, der demonstrerer ven begreber, som i følgende kode. :
void Display ( ) {
Tutorial t;
cout }
class Udenfor {
offentligt : Hej void Display ( ) {
Tutorial x ,
cout };
main () {
Display ();
Outside x ,
x.Display ();
}
5
Se resultatet : Hej 5 5