मेरे पास आभासी फ़ंक्शन के साथ एक बेस क्लास है।
आभासी CString & amp; फू ();
मैं इस तरह उपवर्ग में इसे अधिभार करना चाहता हूं
CString Foo ();
क्या आधार वर्ग वर्चुअल फ़ंक्शन को छुपाने का कोई तरीका है? Vb.net या C # में नए कीवर्ड की तरह कुछ
क्यों किसी को ऐसा कुछ करना होगा? यह बेस क्लास अनुबंध को तोड़ता है। यदि आप उप-वर्ग को लागू करना नहीं चाहते हैं जिसका आधार क्लास के समान इंटरफ़ेस है, तो आप सभी को क्यों प्राप्त करें? संरचना का उपयोग करें।
C + नया कीवर्ड में C ++ के बराबर नहीं है यदि आप वास्तव में ऐसा करने के लिए चाहते हैं तो आप हमेशा:
-
एक विधि को ओवरराइड कर सकते हैं उप-वर्ग में निजी के रूप में।
-
अधिभार बनाएं लेकिन अधिभार में अलग-अलग पैरामीटर होनी चाहिए।
लेकिन अगर आप ऐसा करते हैं, तो आईएमएचओ आपके डिजाइन में कुछ गलत है। मैं चाहता हूं कि प्रत्येक सी + + कंपाइलर को कम से कम इन दोनों स्थितियों को चेतावनी के रूप में पकड़ा गया।
No comments:
Post a Comment