Friend function in C++ in Hindi

What is friend function in C++ in Hindi

हम जानते हैं कि OOPs को किसी एक class के private member के द्वारा ही access किया जा सकता हैं। किसी दूसरे class के member function private data को access नहीं कर सकते हैं किन्तु कई बार program बनाते समय ऐसी आवश्यकता होती है कि दूसरे class के function class के private data को access करे। ऐसा करने के लिए एक class के member function को किसी दूसरे class का friend function declare करना पड़ता हैं।

C++ में function क्या होता है अधिक जानने के लिए देखें—Functions in C++

इसके लिए C++ में friend keyword का प्रयोग किया जाता हैं। जब हम एक class के member function को friend keyword का प्रयोग कर दूसरे class का friend function बनाते हैं, तो इसको दूसरे class के private member को access करने का अधिकार मिल जाता हैं। किन्तु friend function private members को सीधे- सीधे access नहीं कर सकता है इसके लिए उसको उस class के object का प्रयोग करना पड़ता हैं।

Friend function in C++ in Hindi

Characteristics of friend function in C++ in Hindi

  1. Friend function उस class का member नहीं होता जिसमें इसे friend declare किया जाता हैं।
  2. चूंकि यह class का member नहीं होता इसलिए इसे उस class के object के द्वारा call भी नहीं किया जा सकता है।
  3. इसे बिना किसी object के किसी normal function की तरह call किया जा सकता हैं।
  4. यह class के private member को member function की तरह सीधे-सीधे use नहीं कर सकता हैं। इसके लिए यह उस class के object का प्रयोग करता हैं।
  5. इसे class के public व private दोनों ही section में प्रयोग किया जा सकता हैं।
  6. सामान्यतः friend function  में object को argument के रूप में pass किया जाता हैं।

C++ में this pointer क्या है जानने के लिए देखें—This pointer in C++

Example program for friend function in C++

#include<iostream>
using namespace std;
class A;
class B
{
    private:
        int r, s, res;
    public:
        void sum(A);
};
class A
{
    private:
        int p, q, res;
    public:
        friend void B::sum(A);
};
void B::sum(A a)
{
    cout<<"Enter p: ";
    cin>>a.p;
    cout<<"Enter q: ";
    cin>>a.q;
    a.res=a.p+a.q;
    cout<<"sum p+q = "<<a.res<<endl;
    cout<<"Enter r: ";
    cin>>r;
    cout<<"Enter s: ";
    cin>>s;
    res=r+s;
    cout<<"sum r+s = "<<res<<endl;
}
int main()
{
    A a1;
    B b1;
    b1.sum(a1);
    return 0;
}

Output:

Enter p: 2
Enter q: 3
sum p+q = 5

Enter r: 4
Enter s: 1
sum r+s = 5
Share it to:

Published by

admin

I am a computer teacher, programmer and web developer