वर्चुअल इनहेरिटेंस हीरे की समस्या को कैसे हल करता है?
वर्चुअल इनहेरिटेंस हीरे की समस्या को कैसे हल करता है?

वीडियो: वर्चुअल इनहेरिटेंस हीरे की समस्या को कैसे हल करता है?

वीडियो: वर्चुअल इनहेरिटेंस हीरे की समस्या को कैसे हल करता है?
वीडियो: Hybrid Inheritance | Virtual Inheritance | Multipath Inheritance | Diamond Problem | C++ Tutorials 2024, मई
Anonim

आभासी विरासत हल करती है उत्कृष्ट" हीरे की समस्या " यह सुनिश्चित करता है कि चाइल्डक्लास को सामान्य बेस क्लास का केवल एक उदाहरण मिले। दूसरे शब्दों में, सांप वर्ग मर्जी लिविंगथिंग क्लास का केवल एक उदाहरण है। पशु और सरीसृप वर्ग इस उदाहरण को साझा करते हैं।

इस संबंध में विरासत में हीरे की समस्या क्या है?

NS " हीरे की समस्या "एक अस्पष्टता है जो कई को अनुमति देने के परिणामस्वरूप उत्पन्न हो सकती है विरासत . यह एक गंभीर संकट भाषाओं के लिए (जैसे सी ++) जो एकाधिक के लिए अनुमति देता है विरासत राज्य का। InJava, हालांकि, एकाधिक विरासत कक्षाओं के लिए अनुमति नहीं है, केवल इंटरफेस के लिए, और इनमें राज्य शामिल नहीं है।

इसके बाद, सवाल यह है कि वर्चुअल बेस क्लास विरासत में कैसे मदद करता है? आभासी आधार वर्ग अंतरिक्ष बचाने और अस्पष्टताओं से बचने का एक तरीका प्रदान करें कक्षा पदानुक्रम जो बहु-विरासत का उपयोग करते हैं। जब एक आधार वर्ग a. के रूप में निर्दिष्ट है वर्चुअलबेस , यह एक अप्रत्यक्ष के रूप में कार्य कर सकता है आधार अपने डेटा सदस्यों के दोहराव के बिना एक से अधिक बार।

यह भी जानिए, क्या है वर्चुअल पब्लिक इनहेरिटेंस?

आभासी विरासत एक सी ++ तकनीक है जो सुनिश्चित करती है कि बेस क्लास के सदस्य चर की केवल एक प्रति है विरासत में मिला पोते व्युत्पन्न कक्षाओं द्वारा। यह सुविधा बहु के लिए सबसे उपयोगी है विरासत , जैसा कि यह बनाता है आभासी व्युत्पन्न वर्ग और उससे प्राप्त सभी वर्गों के लिए एक सामान्य उप-वस्तु का आधार।

इंटरफ़ेस हीरे की समस्या को कैसे हल करता है?

कैसे an. का उपयोग करना इंटरफेस जावा में का समाधान NS हीरे की समस्या ? इसलिए, यदि दो इंटरफेस एक ही विधि हस्ताक्षर है और एक वर्ग इन दोनों से विरासत (जावा में लागू) चाहता है इंटरफेस , उत्तराधिकारी के लिए कोई "विधि निकाय" नहीं है, इसलिए " हीरा विरासत" मुद्दा टाला जाता है।

सिफारिश की: