What is c++ friend function in hindi-c++ फ्रेंड फंक्शन क्या है?

हेल्लो दोस्तों आज के इस पोस्ट में आपको c++ friend function in hindi के बारे में बताया गया है की इसे कैसे प्रयोग करते है तो चलिए शुरू करते है

c++ friend functions का परिचय

जैसा की आपको पता है की किसी भी class के public members को class के बाहर आसानी से एक्सेस किया जा सकता है लेकिन private और protected members के साथ ही ऐसा करना possible नहीं है किसी class का एक friend function उसके private और protected members को भी class के बाहर एक्सेस कर सकता है

एक friend function को class का members function नहीं होता है friend function एक normal function (class के बाहर) होता है जो की जिसे किसी class का friend बनाया जाता है किसी भी function को friend function बनाने के लिएय उसका prototype उस class के अन्दर् declare किया जाता है

जिस class का friend आप function को बनाना चाहते है तो function के prototype को friend keyword के साथ ही declare किया जाता है इस keyword से compiler को पता चल जाता है की declare किया हुए function class का friend है

advantage of friend functions

friend functions को प्रयोग करने की कुछ advantages आपको निचे दी जा रही है

  1. friend functions आपको additional functionality को प्रोविडे करते है जिसे class के बाहर प्रयोग किया जा सकता है
  2. यदि class किसी data को खुद प्रयोग नहीं कर रही है और साथ ही उसे protect भी करना चाहती है तो वो friend function को इस data को प्रयोग करने के लिए allow कर सकती है
  3. आप class के private members का एक्सेस किसी ऐसे function को allow करते है जो की class के बाहर हो इससे आप class के मेम्बर function और दूसरी functions को separate कर पाते है

friend function का जनरल syntax आपको  निचे दिया जा रहा है

class MyClass
{
      …..
      …..
      Friend return-type MyFriendFunc(argument-list);   //friend function prototype
        …….
          …….
}
 Return-type MyFriendFunc(argument-list)
{
       //friend function body
}
Int main()
{
          //main() function body
}

उपर दिए गए syntax में MyClass के अन्दर एक friend function को declare किया गया है friend function को class के आखिर में declare किया जाना अच्छा रहता है

तो आएये अब इसे एक example के माध्यम से समझते का प्रयास करते है

#include<iostream>
Using namespace std;
Class Addition
{
    Private:
                Int a=5;b=2;
       Public:
                 Friend int add(Addition obj);
};
Int add(Addition obj)
{
        Return obj.a+obj.b;
}
Int main()
{
     Addition obj;
     Int result=add(obj);
       Cout<<”Result is :”<<result;
        Return 0;
}

उपर दिए गए example में add function को addition class का friend को declare किया गया है इस function में argument के रूप में addition class का object को pass किया जायेगा ताकि ये addition class के members पर work कर सकते है class की definition के बाहर friend function को आसानी से addition class के दोनों private members a और b को एक्सेस कर पाता है ये program आपको निचे दिया गया आउटपुट को generate करता है

Result is :7

जब भी आप friend function को declare करते है तो उसमे argument के रूप में उस class का obj को pass किया जाता है जिस class का friend ये function के लिए यदि कोई class है तो X और उसका कोई friend function है जिसका नाम MyFriend function() है इस function में argument के रूप में aap X class का object को pass करेंगे ऐसा class members को एक्सेस करने के लिए किया जाता है pass किये गए object से आप function के अन्दर class members को एक्सेस करते है

c++ friend class

एक friend class भी friend function की तरह ही होती है जब कोई class किसी दूसरी class को अपनी friend class बनती है तो इस class के सभी members को वह friend class को एक्सेस कर सकती है

example के लिए आपने 2 classes A और B को create की हुए है तो अब आप चाहते है तो की B के सभी members A class के सभी private और protected members को एक्सेस कर सके तो इसके लिए आप A class के अन्दर B class को एक friend class के रूप में define करेंगे जिसका structure आपको निचे दिया जा रहा है

#include<iostream>
Using nampespace std;
Class Addition
 {
          Private:
                     Int a=5;
                     Int b=2;
           Public:
                     Friend class Sum;
                     Void display()
                      {
                                 Cout<<”value of a is:”<<a<<endl;
                                Cout<<”value of b is:”<<b<<endl;
                      }
};
Class Sum
{
          Public:
                     Int add(Addition obj)
                   {
                          Return obj.a+obj.b;
                    }
};
Int main()
{
             Int result;
               Addition aobj;
                 Sum sobj;
              aobj.display();
              result=sobj.add(aobj);
            cout<<”Sum of a and b is :”<<result;
               return 0;
}

friend class का जो भी function actual class के members को एक्सेस करना चाहेगा वह argument के रूप में actual class का object को pass करेंगा उपर दिए गए example में Sum class addition class की friend class है sum class के add function में argument के रूप में addition class का object को pass किया गया है और उस object के द्वारा ही addition class के private members a और b को एक्सेस किया गया है ये program आप निचे दिया गया output को generate करता है

value of a is : 5
value of b is : 2
sum of a and b is : 7

c++ friend function in hindi

reference-https://www.tutorialspoint.com/cplusplus/cpp_friend_functions.htm

निवेदन:-आप सभी छात्र –छात्रों से निवेदन है की अगर आपको ये Topic(c++ friend function in hindi) अच्छा लगा हो तो कृपया आप इस वेबसाइट के बारे में अपने दोस्तों को जरुर बताये अगर कोई topic(c++ friend function in hindi) से संबधित प्रश्न हो तो कमेंट्स(comments) आपके लिए ही बना है और किसी Subject(c++ friend function in hindi) के लेकर भी कोई प्रश्न हो तो कमेंट करे

Leave a Comment