जो मैंने पढ़ा है, उसके अनुसार एक गलत रन-टाइम गतिशील_कास्ट करने से या तो खराब_कास्ट अपवाद फेंक सकता है या शून्य लौटा सकता है।गतिशील_कास्ट कैसे विफल रहता है?
क्या यह कहना सही है कि यदि आप पॉइंटर्स कास्टिंग कर रहे हैं तो यह शून्य वापस आ जाएगा?
यानी:
class Base { virtual void a(){} };
class Derived: public Base {};
int main() {
Base *base = new Base();
dynamic_cast<Derived*>(base);
return 0;
}
और वह जब वस्तुओं कास्टिंग यह एक bad_cast अपवाद फेंक होगा?
यानी:
class Base { virtual void a(){} };
class Derived: public Base {};
int main() {
Base base;
Base& ref = base;
dynamic_cast<Derived&>(ref);
return 0;
}
ठीक है, तो पुष्टि सही है। धन्यवाद। मैंने बेस क्लास पॉलिमॉर्फिक (वर्चुअल फ़ंक्शन जोड़ना) बनाने और अपवाद के लिए संदर्भ कास्टिंग का उपयोग करने के लिए संदेश संपादित किया। – NIGO