फ्रेंड फंक्शन और फ्रेंड क्लास के बीच अंतर

लेखक: Laura McKinney
निर्माण की तारीख: 1 अप्रैल 2021
डेट अपडेट करें: 13 मई 2024
Anonim
क्लास मेंबर फंक्शन और फ्रेंड फंक्शन के बीच अंतर | फ्रेंड फंक्शन और क्लास फंक्शन
वीडियो: क्लास मेंबर फंक्शन और फ्रेंड फंक्शन के बीच अंतर | फ्रेंड फंक्शन और क्लास फंक्शन

विषय


फ्रेंड फंक्शन और फ्रेंड क्लास फ्रेंड कीवर्ड का उपयोग करके किसी क्लास के प्राइवेट मेंबर्स तक पहुंचने के लिए इस्तेमाल की जाने वाली तकनीकें हैं। फ्रेंड फंक्शन और फ्रेंड क्लास के बीच आम अंतर यह है कि जब फ्रेंड फंक्शन का इस्तेमाल किया जाता है तो प्राइवेट क्लास मेंबर्स को एक्सेस किया जा सकता है लेकिन फ्रेंड क्लास में, फ्रेंड क्लास के नाम को ही एक्सेस किया जाता है, क्लास के प्राइवेट मेंबर्स को नहीं।

मित्र सुविधा क्या फ़ंक्शन या वर्ग द्वारा उपयोग किया जाता है जो वस्तु-उन्मुख ढांचे पर नकारात्मक प्रभाव डाल सकता है क्योंकि यह कमजोर होता है कैप्सूलीकरण जो खिलाफ है वस्तु के उन्मुख प्रतिमान। यही कारण है कि मित्र सुविधा का बुद्धिमानी से उपयोग किया जाना चाहिए अन्यथा यह हो सकता है टूटना डेटा छिपाना कोड के।

यह मित्र सुविधा न तो है विनिमेय और न ही सकर्मक। X, Y का मित्र नहीं है क्योंकि Y, X का मित्र भी है। यदि X, Y का मित्र है और Y, Z का मित्र है, तो यह नहीं दर्शाता है कि X, Z का मित्र है।


    1. तुलना चार्ट
    2. परिभाषा
    3. मुख्य अंतर
    4. निष्कर्ष

तुलना चार्ट

तुलना के लिए आधारमित्र का कार्यमित्र वर्ग
बुनियादीयह एक फंक्शन कीवर्ड के साथ प्रयोग किया जाता है जो किसी गैर-सदस्यीय फ़ंक्शन को किसी वर्ग के निजी सदस्यों तक पहुँच प्रदान करता है।यह एक वर्ग है जिसका उपयोग मित्र कीवर्ड के साथ किसी अन्य वर्ग के निजी सदस्यों तक पहुंचने के लिए किया जाता है।
आगे की घोषणाउपयोग किया जाना चाहिए।अनिवार्य नहीं।
उपयोगएक मित्र फ़ंक्शन का उपयोग ऑपरेटर ओवरलोडिंग की कुछ स्थिति में किया जा सकता है।मित्र वर्ग का उपयोग तब किया जा सकता है जब एक वर्ग दूसरे वर्ग के शीर्ष पर बनाया जाता है।

फ्रेंड फंक्शन की परिभाषा

मित्र समारोह गैर-सदस्य फ़ंक्शन तक पहुँच प्राप्त करने की अनुमति देकर किसी वर्ग के निजी और संरक्षित सदस्यों तक पहुँचने के लिए उपयोग किया जाता है। इस प्रकार के फ़ंक्शन में, घोषणा के समय फ़ंक्शन नाम से पहले एक मित्र कीवर्ड का उपयोग किया जाता है। फ्रेंड फंक्शन पर कुछ प्रतिबंधात्मक शर्तें लागू हैं। पहली शर्त यह है कि फ्रेंड फंक्शन चाइल्ड क्लास को विरासत में नहीं मिलता है। दूसरी शर्त यह है कि स्टोरेज क्लास स्पेसियर फ्रेंड फंक्शन में मौजूद नहीं हो सकता है, जिसका मतलब है कि इसे स्टैटिक और एक्सटर्नल घोषित नहीं किया जा सकता है।


फ्रेंड फंक्शन को क्लास की एक इनवोकिंग ऑब्जेक्ट नहीं कहा जाता है। मित्र फ़ंक्शन के उदाहरण हैं: एक वैश्विक फ़ंक्शन, किसी वर्ग का सदस्य फ़ंक्शन, फ़ंक्शन टेम्पलेट एक मित्र फ़ंक्शन हो सकता है। एक उदाहरण की मदद से इसे समझते हैं।

#शामिल नेमस्पेस एसटीडी का उपयोग करना; कक्षा पहली {int डेटा; सार्वजनिक: पहला (इंट i): डेटा (i) {} मित्र शून्य प्रदर्शन (पहला और पहला भाग); }; शून्य प्रदर्शन (पहला और ए) {cout << "डेटा =" <नामस्थान std का उपयोग करके; कक्षा प्रथम {// एक मित्र को घोषित करें कक्षा मित्र को दूसरा; सार्वजनिक: पहला (): a (0) {} शून्य () {cout << "परिणाम है" << a << एंडल; } निजी: int a; }; वर्ग दूसरा {सार्वजनिक: शून्य परिवर्तन (प्रथम और yclass, int x) {yclass.a = x; }}; int main () पहला obj1; दूसरा obj2; obj1 ()।; obj2.change (obj1, 5); obj1 ()।; // आउटपुट परिणाम 0 है परिणाम 5 है

  1. फ्रेंड फंक्शन एक ऐसा फंक्शन है जो किसी वर्ग के निजी और संरक्षित सदस्यों तक पहुंचने में सक्षम है। इसके विपरीत, एक मित्र वर्ग एक ऐसा वर्ग है जो किसी कक्षा के निजी सदस्यों तक पहुँचने में मदद करता है।
  2. कक्षा के अंदर इसके प्रोटोटाइप को शामिल करके एक मित्र फ़ंक्शन घोषित किया जाता है, इसे कीवर्ड मित्र के साथ एंटीकेड करें। इसी तरह, कीवर्ड मित्र का उपयोग करके एक मित्र वर्ग भी परिभाषित किया गया है।
  3. फॉरवर्ड डिक्लेरेशन का उपयोग फ्रेंड फंक्शन के मामले में किया जाता है, जबकि फ्रेंड क्लास में इसका इस्तेमाल करना जरूरी नहीं है।

निष्कर्ष

जब किसी फ़ंक्शन को दो या अधिक स्वतंत्र वर्गों, आंतरिक सदस्यों तक पहुंचने की आवश्यकता होती है, तो एक मित्र फ़ंक्शन की आवश्यकता होती है। दूसरी ओर, एक मित्र वर्ग की आवश्यकता तब होती है जब एक वर्ग को दूसरे वर्ग के सदस्यों तक पहुँचने की आवश्यकता होती है। जब कई सदस्य फ़ंक्शन को उस फ़ंक्शन का मित्र होना चाहिए, तो उस स्थिति में, मित्र वर्ग का उपयोग करना बेहतर होता है।