मैं समझ सकता हूं कि कार्यान्वित (शुद्ध के विपरीत) वर्चुअल फ़ंक्शन निजी या संरक्षित घोषित करने का कोई कारण हो सकता है। अफैक, यदि आप संरक्षित वर्चुअल विधि को सुरक्षित के रूप में घोषित करते हैं, तो आपका बच्चा वर्ग बेस क्लास की विधि (और कोई और नहीं कर सकता) कह सकता है। यदि आप इसे निजी घोषित करते हैं, केवल बेस क्लास वर्चुअल विधि के डिफ़ॉल्ट कार्यान्वयन को कॉल कर सकते हैं।क्या कोई निजी और संरक्षित शुद्ध वर्चुअल फ़ंक्शन के बीच कोई अंतर है?
हालांकि, शुद्ध आभासी के साथ, कोई आधार कार्यान्वयन नहीं है ... तो क्या यह एक निजी आभासी घोषित करने के लिए कार्यात्मक रूप से समान नहीं है या तो निजी या संरक्षित है? एक संरक्षित शुद्ध आभासी समझ में नहीं आता है क्योंकि आप कभी भी बेस क्लास की इसी विधि को नहीं बुला सकते हैं। क्या कोई परिदृश्य है जहां एक संरक्षित शुद्ध आभासी कोई समझ में आता है?
SO पर कुछ समान विषय हैं, लेकिन मुझे कुछ भी नहीं मिला जो मेरे प्रश्न का संक्षेप में उत्तर दिया।
आप इंटरफेस के लिए 'मित्र' को लागू कर सकते हैं। – Matthew
शुद्ध आभासी विधि में शरीर हो सकता है और इसे आधार :: foo() की तरह स्पष्ट रूप से बुलाया जा सकता है। उदाहरण के लिए – iammilind