मान लीजिए मैं इस कोडसी ++ वर्चुअल विनाशक अभी भी आवश्यक है यदि व्युत्पन्न में कोई डेटा सदस्य नहीं है?
class Base{
public:
int getVal();
private:
int a, b;
};
class Derived::public Base{
public:
void printVal();
};
int main(){
Base *b = new Derived();
delete b;
}
मैं एक आभासी नाशक चीज़ें ठीक तरीके से हटाना चाहते हैं पता है, लेकिन यह आधार सूचक के साथ नष्ट करने के लिए (जब वहाँ कोई आभासी नाशक है) बुरा है भले ही कोई आभासी कार्य हैं और कोई व्युत्पन्न कक्षा में डेटा सदस्य? यदि यह किया जाता है तो क्या होगा?
धन्यवाद डेविड। – snk
उन चीजों पर भरोसा करना खतरनाक है जो "सबसे अधिक संभावना काम" करेंगे और मान लें कि आपको "ठीक होना चाहिए।" कोड लिखने के लिए यह बहुत बेहतर है कि _will_ काम, तो आप _know_ आप ठीक होंगे। –
जेम्स, मैं यह सुनिश्चित कर दूंगा कि हमेशा एक आभासी विनाशक होता है। यह सिर्फ किसी के द्वारा पूछे जाने वाले एक काल्पनिक है और इसके लिए कोई जवाब नहीं है। दोबारा धन्यवाद। – snk