फ्रेंड फंक्शन आणि फ्रेंड क्लासमधील फरक

लेखक: Laura McKinney
निर्मितीची तारीख: 1 एप्रिल 2021
अद्यतन तारीख: 17 मे 2024
Anonim
Dr Shirisha Sathe Problem Solving
व्हिडिओ: Dr Shirisha Sathe Problem Solving

सामग्री


फ्रेंड फंक्शन आणि फ्रेंड क्लास हे मित्र कीवर्डद्वारे वर्गातील खासगी सदस्यांपर्यंत पोहोचण्यासाठी वापरल्या जाणार्‍या तंत्रे आहेत. फ्रेंड फंक्शन आणि फ्रेंड क्लासमधील सामान्य फरक असा आहे की जेव्हा फ्रेंड फंक्शन वापरला जातो तेव्हा प्रायव्हेट क्लासच्या सदस्यांपर्यंत प्रवेश करता येतो परंतु फ्रेंड क्लासमध्ये केवळ वर्गाच्या खासगी सदस्यांकडेच नसून केवळ फ्रेंड क्लासच्या नावावर प्रवेश केला जातो.

मित्र वैशिष्ट्य फंक्शन किंवा क्लासद्वारे वापरलेला ऑब्जेक्ट देणार्या फ्रेमवर्कवर नकारात्मक प्रभाव आणू शकतो कारण तो कमकुवत होतो encapsulation जे विरुद्ध आहे वस्तुनिष्ठ नमुना. हेच कारण आहे की मित्र वैशिष्ट्य शहाणपणाने वापरणे आवश्यक आहे अन्यथा ते शक्य आहे ब्रेक अगोदर निर्देश केलेल्या बाबीसंबंधी बोलताना डेटा लपवत आहे कोडचा.

हे मित्र वैशिष्ट्य देखील नाही परिवर्तनशील आणि नाही सकर्मक. एक्स हा वाईचा मित्र आहे, हे समजत नाही की वाय हा एक्सचा मित्र देखील आहे. जर एक्स वाईचा मित्र असेल आणि वाय झेडचा मित्र असेल तर एक्स झेडचा मित्र आहे असा अर्थ लावत नाही.


    1. तुलना चार्ट
    2. व्याख्या
    3. मुख्य फरक
    4. निष्कर्ष

तुलना चार्ट

तुलना करण्यासाठी आधारमित्र कार्यमित्र वर्ग
मूलभूतहे एका वर्गाच्या खासगी सदस्यांना विना-सदस्य फंक्शन प्रवेश मंजूर करण्यासाठी मित्र कीवर्डसह वापरले जाणारे कार्य आहे.हा एक वर्ग आहे जो मित्र कीवर्डसह दुसर्‍या वर्गातील खाजगी सदस्यांपर्यंत पोहोचण्यासाठी वापरला जातो.
पुढील घोषणावापरणे आवश्यक आहे.अनिवार्य नाही.
वापराऑपरेटर ओव्हरलोडिंगच्या काही परिस्थितीत फ्रेन्ड फंक्शनचा वापर केला जाऊ शकतो.जेव्हा एखादा वर्ग दुसर्‍या वर्गाच्या वरच्या बाजूला तयार केला जातो तेव्हा मित्र वर्ग वापरला जाऊ शकतो.

मित्र कार्याची व्याख्या

मित्र कार्य प्रवेश मिळविण्यासाठी सदस्य नसलेल्या कार्यास परवानगी देऊन वर्गाच्या खासगी आणि संरक्षित सदस्यांपर्यंत प्रवेश करण्यासाठी उपयोग केला जातो. या प्रकारच्या फंक्शनमध्ये घोषणेच्या वेळी फंक्शनच्या नावापुढे एक मित्र कीवर्ड वापरला जातो. मित्र कार्यासाठी काही प्रतिबंधात्मक अटी लागू केल्या आहेत. पहिली अट म्हणजे फ्रेंड फंक्शनचा वारसा बाल वर्गाकडून मिळाला नाही. दुसरी अट अशी आहे की स्टोरेज क्लास स्पेसिफायर फ्रेंड फंक्शनमध्ये असू शकत नाही, याचा अर्थ असा की तो स्थिर आणि बाह्य म्हणून घोषित केला जाऊ शकत नाही.


वर्गाच्या इनव्हॉकिंग ऑब्जेक्टसह फ्रेंड फंक्शन कॉल केलेले नाही. फ्रेंड फंक्शनची उदाहरणे अशीः ग्लोबल फंक्शन, क्लासचे मेंबर फंक्शन, फंक्शन टेम्पलेट हे फ्रेंड फंक्शन असू शकते. उदाहरणाच्या मदतीने हे समजून घेऊया.

# समाविष्ट करा नेमस्पेस एसटीडी वापरणे; प्रथम श्रेणीचा डेटा; सार्वजनिक: प्रथम (IN मी): डेटा (i)}} मित्र शून्य प्रदर्शन (कॉन्स्ट प्रथम & ए); }; शून्य प्रदर्शन (कॉन्स्ट प्रथम & ए) out कोट << "डेटा =" <नेमस्पेस एसटीडी वापरुन; वर्ग प्रथम {// मित्र वर्ग घोषित करा मित्र वर्ग दुसरा; सार्वजनिक: प्रथम (): अ (0)} oid शून्य () {कोउट << "परिणाम" << ए << एंडल; } खाजगी: इंट अ; }; वर्ग दुसरा {सार्वजनिक: शून्य बदल (प्रथम & yclass, int x) {yclass.a = x; }}; इंट मेन () प्रथम ऑब्जेक्ट 1; दुसरा ऑब्जेक्ट 2; ऑब्जेक्ट 1. (); ऑब्जेक्ट 2 कॉन्जेज (ऑब्जेक्ट 1, 5); ऑब्जेक्ट 1. (); // आउटपुट निकाल 0 आहे निकाल 5

  1. फ्रेंड फंक्शन हे असे फंक्शन असते जे वर्गातील खासगी आणि संरक्षित सदस्यांपर्यंत प्रवेश करण्यात सक्षम होते. याउलट, एक मित्र वर्ग एक वर्ग आहे जो वर्गातील खासगी सदस्यांपर्यंत पोहोचण्यास मदत करतो.
  2. वर्गाच्या आत त्याचा मित्र नमुना समाविष्ट करून फ्रेंड फंक्शन घोषित केले जाते, कीवर्ड मित्राने त्यास आधी सांगा. तसेच, कीवर्ड मित्र वापरून एक मित्र वर्ग देखील परिभाषित केला जातो.
  3. फॉरवर्ड डिक्लेरेशनचा वापर फ्रेंड फंक्शनच्या बाबतीत केला जातो तर फ्रेंड क्लासमध्ये वापरणे आवश्यक नसते.

निष्कर्ष

जेव्हा फंक्शनला दोन किंवा अधिक स्वतंत्र वर्ग, अंतर्गत सदस्यांपर्यंत प्रवेश करण्याची आवश्यकता असते तेव्हा मित्र कार्य आवश्यक असते. दुसरीकडे, जेव्हा वर्गास दुसर्या वर्गाच्या सदस्यांकडे जाण्याची आवश्यकता असते तेव्हा मित्र वर्ग आवश्यक असतो. जेव्हा एकाधिक सदस्य फंक्शनला त्या फंक्शनचा मित्र असणे आवश्यक असते, तेव्हा अशा परिस्थितीत, मित्र वर्ग वापरणे चांगले.