मेरे पास एक आसान आरएआईआई कक्षा है ताकि यह सुनिश्चित किया जा सके कि कुछ हैंडल ठीक तरह से निपटाए गए हैं। अब मैं यह कहना चाहूंगा कि दुर्घटना से कोई भी वर्चुअल तरीकों को जोड़ने वाला नहीं है। जिस तरह से मैं इसे देखता हूं, मुझे यह ज़ोर देना होगा कि कक्षा में vtbl सूचक नहीं है।कैसे जोर दें कि किसी विशेष श्रेणी में उसके लेआउट में कोई vtbl पॉइंटर्स नहीं है?
मैं यह कैसे कर सकता हूं? संकलन समय पर जोर देना संभव है?
संपादित
मैं डेस्कटॉप compilers के लिए समझौता होगा। जहां तक मुझे पता है कि कोई डेस्कटॉप सी ++ कंपाइलर नहीं है जो पॉलीमोर्फिज्म को लागू करने के लिए vtbl का उपयोग नहीं कर रहे हैं।
सैद्धांतिक रूप से, आप इसे पोर्टेबल तरीके से नहीं कर सकते हैं। –
आपको _sealed_ कक्षा प्राप्त करने में रुचि हो सकती है: http://stackoverflow.com/q/4712992/96780 –
vtbl एक कार्यान्वयन विवरण है। एक कंपाइलर मौजूद हो सकता है जो आभासी कार्यों को लागू करने के लिए कॉल टेबल का उपयोग नहीं करता है। क्या आप खुद को एक विशिष्ट कंपाइलर तक सीमित करना चाहते हैं? – filmor