फ्रेंड फंक्शन और फ्रेंड क्लास के बीच अंतर
विषय
फ्रेंड फंक्शन और फ्रेंड क्लास फ्रेंड कीवर्ड का उपयोग करके किसी क्लास के प्राइवेट मेंबर्स तक पहुंचने के लिए इस्तेमाल की जाने वाली तकनीकें हैं। फ्रेंड फंक्शन और फ्रेंड क्लास के बीच आम अंतर यह है कि जब फ्रेंड फंक्शन का इस्तेमाल किया जाता है तो प्राइवेट क्लास मेंबर्स को एक्सेस किया जा सकता है लेकिन फ्रेंड क्लास में, फ्रेंड क्लास के नाम को ही एक्सेस किया जाता है, क्लास के प्राइवेट मेंबर्स को नहीं।
मित्र सुविधा क्या फ़ंक्शन या वर्ग द्वारा उपयोग किया जाता है जो वस्तु-उन्मुख ढांचे पर नकारात्मक प्रभाव डाल सकता है क्योंकि यह कमजोर होता है कैप्सूलीकरण जो खिलाफ है वस्तु के उन्मुख प्रतिमान। यही कारण है कि मित्र सुविधा का बुद्धिमानी से उपयोग किया जाना चाहिए अन्यथा यह हो सकता है टूटना डेटा छिपाना कोड के।
यह मित्र सुविधा न तो है विनिमेय और न ही सकर्मक। X, Y का मित्र नहीं है क्योंकि Y, X का मित्र भी है। यदि X, Y का मित्र है और Y, Z का मित्र है, तो यह नहीं दर्शाता है कि X, Z का मित्र है।
-
- तुलना चार्ट
- परिभाषा
- मुख्य अंतर
- निष्कर्ष
तुलना चार्ट
तुलना के लिए आधार | मित्र का कार्य | मित्र वर्ग |
---|---|---|
बुनियादी | यह एक फंक्शन कीवर्ड के साथ प्रयोग किया जाता है जो किसी गैर-सदस्यीय फ़ंक्शन को किसी वर्ग के निजी सदस्यों तक पहुँच प्रदान करता है। | यह एक वर्ग है जिसका उपयोग मित्र कीवर्ड के साथ किसी अन्य वर्ग के निजी सदस्यों तक पहुंचने के लिए किया जाता है। |
आगे की घोषणा | उपयोग किया जाना चाहिए। | अनिवार्य नहीं। |
उपयोग | एक मित्र फ़ंक्शन का उपयोग ऑपरेटर ओवरलोडिंग की कुछ स्थिति में किया जा सकता है। | मित्र वर्ग का उपयोग तब किया जा सकता है जब एक वर्ग दूसरे वर्ग के शीर्ष पर बनाया जाता है। |
फ्रेंड फंक्शन की परिभाषा
मित्र समारोह गैर-सदस्य फ़ंक्शन तक पहुँच प्राप्त करने की अनुमति देकर किसी वर्ग के निजी और संरक्षित सदस्यों तक पहुँचने के लिए उपयोग किया जाता है। इस प्रकार के फ़ंक्शन में, घोषणा के समय फ़ंक्शन नाम से पहले एक मित्र कीवर्ड का उपयोग किया जाता है। फ्रेंड फंक्शन पर कुछ प्रतिबंधात्मक शर्तें लागू हैं। पहली शर्त यह है कि फ्रेंड फंक्शन चाइल्ड क्लास को विरासत में नहीं मिलता है। दूसरी शर्त यह है कि स्टोरेज क्लास स्पेसियर फ्रेंड फंक्शन में मौजूद नहीं हो सकता है, जिसका मतलब है कि इसे स्टैटिक और एक्सटर्नल घोषित नहीं किया जा सकता है।
फ्रेंड फंक्शन को क्लास की एक इनवोकिंग ऑब्जेक्ट नहीं कहा जाता है। मित्र फ़ंक्शन के उदाहरण हैं: एक वैश्विक फ़ंक्शन, किसी वर्ग का सदस्य फ़ंक्शन, फ़ंक्शन टेम्पलेट एक मित्र फ़ंक्शन हो सकता है। एक उदाहरण की मदद से इसे समझते हैं।
#शामिल जब किसी फ़ंक्शन को दो या अधिक स्वतंत्र वर्गों, आंतरिक सदस्यों तक पहुंचने की आवश्यकता होती है, तो एक मित्र फ़ंक्शन की आवश्यकता होती है। दूसरी ओर, एक मित्र वर्ग की आवश्यकता तब होती है जब एक वर्ग को दूसरे वर्ग के सदस्यों तक पहुँचने की आवश्यकता होती है। जब कई सदस्य फ़ंक्शन को उस फ़ंक्शन का मित्र होना चाहिए, तो उस स्थिति में, मित्र वर्ग का उपयोग करना बेहतर होता है।
निष्कर्ष