सी ++ में किसी फ़ंक्शन पर virtual
और override
दोनों का उपयोग करना खतरनाक है? क्या यह आपको ओवरलोडिंग के साथ अस्पष्टता के लिए खोलता है?क्या सी ++ 11 में वर्चुअल और ओवरराइड कीवर्ड दोनों का उपयोग करने में कोई सबटाइटी हैं?
जाहिर virtual
आधार वर्ग में इस्तेमाल किया जाना चाहिए और यह मूर्खतापूर्ण को व्युत्पन्न वर्ग में override
का उपयोग नहीं हो सकता है, लेकिन यह वास्तव में व्युत्पन्न वर्ग मेंoverride
साथ virtual
उपयोग करने के लिए समस्याग्रस्त है?
यह निर्धारित करने की कोशिश कर रहा है कि यह शैली या शुद्धता का मुद्दा है या नहीं।
उदाहरण:
class Widget {
virtual void transmogrify() = 0;
}
class Gadget : public Widget {
virtual void transmogrify() override {}
}
के रूप में घोषित आप यहां अपना उत्तर मिल सकती है [\ 'ओवरराइड \ 'सी ++ 11 में] (http://stackoverflow.com/questions/13880205/override-in-c11) – MicroVirus
यह भी देखें http://en.cppreference.com/w/cpp/language/override – MicroVirus
ओवरलोडिंग नहीं है ' टी में आओ। दोनों कीवर्ड केवल ओवर-राइडिंग पर लागू होते हैं। – EJP