Introduction for Friend Function
Friend function का इस्तेमाल 'friend' keyword के साथ किया जाता है | Friend function ये c++ के लिए एक उपयोगी function है | Friend Function; जिस class में उसे declare किया गया है , उस class का member नहीं बल्कि 'friend' होता है | Friend function class के अन्दर declare किया जाता है | Friend function की definition; class के बाहर होती है | ये functions class के member function नहीं होते है | ये non-member functions होते है |Friend Function की विशेषताए
- Friend Function से class के private members को access किया जाता है |
- जब class के बाहर member function define किया जाता था, तब scope resolution(::) का इस्तेमाल किया जाता था | friend function के साथ class के बाहर scope resolution(::) का इस्तेमाल नहीं किया जाता |
- Member functions को access करने के लिए object की जरुरत पड़ती थी, लेकिन friend function ये non-member function होने के कारण उसे access करने के लिए कोई object की जरुरत नहीं पड़ती |
- जब friend defintion बनायीं जाती है, तब उसके parameters; class के object(s) होते है |
Syntax for Friend Function Declaration
Friend Function का declaration class के अन्दर किया जाता है |class class_name
{
friend return_type function_name(parameter(s));
}
Syntax for Friend Function Definition
Friend Function का definition; class के बाहर की जाती है |Class के private और protected इन access specifier से data को friend function को access किया जाता है |
return_type function_name(parameter(s))
{
//body of function_name;
}
Example for Friend Function
Program में show नाम का friend function लिया है और A नाम का class लिया है | ये friend function directly A class के 'x' इस private member को access कर रहा है |main function में देखा जाए तो, A class के object का नाम 'obj' लिया है | यहाँ पर constructor से assign हुई value 'x' 0 call हो जायेगी और बाद में show function; call होकर '5' ये value assign हो जायेगी |
Source Code :
#include <iostream.h>
using namespace std;
class A{
private:
int x;
public:
A(){
x = 0;
}
friend int show( A ); // declaring friend function
};
int show(A s){ // friend function definition
s.x = 5;
return s.x;
}
int main(){
A obj;
cout<<"Value of a : "<< show(obj);
return 0;
}
Output :
Value of a : 5







No comments: