C + + erbjuder tre nivåer av åtkomstkontroll inuti en klass . Privata uppgifter är inte tillgängliga för tredje funktioner eller externa klasser . Men ibland behöver komma åt dessa data i ett program , så du måste hitta ett sätt att komma runt detta C + + regeln . Vännen funktionen kan en programmerare tillgång till privata uppgifter . Läs vidare för att lära sig använda vän -funktioner i C + + . Saker du behöver
Intermediate C + + Review C + + kompilator med en IDE
Visa fler instruktioner
1
hitta en klass som har privata medlemmar . Kom ihåg att data som du inte deklarerar under en åtkomstmodifierare är privata som standard :
klass Tutorial {
int privateData , //detta int är privat och är isolerad från omvärlden
allmänheten :
Handledning ( ) : privateData ( 5 ) , //default konstruktor initierar privateData till 5
//...
2
Låt en tredje funktion för att läsa privateData i steg 1 . En icke - medlem -funktion är en funktion som finns utanför klassen Tutorial . Föregå förklaringen av denna funktion genom att vän sökord och lägg i linan i det privata området Tutorial :
klass Tutorial {
int privateData ,
vän void Display ( ) , //vår tredje funktion
//...
nyckelordet private berättar klass Tutorial att den kan lita på Display ( ) , även om det inte är en av dess delfunktioner . Addera 3
Låt en annan klass tillgång till privata uppgifter i klass Tutorial . Deklarationen av en vän klass är likartad . Föregå klassdeklarationen av vän sökord och lägg i linan i det privata dataområdet Tutorial :
klass Tutorial {
int privateData ,
vän void Display ( ) ;
vän klassen utanför; //vår externa klass
//...
nu klass Utanför har behörighet till privata uppgifter
4
Study ett C + + -program som demonstrerar vän begrepp , som i följande kod . :
void Display ( ) {
Tutorial t ,
cout }
klass Utanför {
allmänheten :
void Display ( ) {
Tutorial x ,
cout } ;
main ( ) {
Display ( ) ;
Utanför x ,
x.Display ( ) ;
}
5
Se resultatet :
5
5