के लिए ऑपरेटर ओवरलोडिंग नया जब हम किसी वर्ग के नए ऑपरेटर को अधिभारित करते हैं, तो हम फ़ंक्शन को सदस्य फ़ंक्शन के रूप में घोषित करते हैं। उदाहरण के लिए:कक्षा
class OpNew {
public:
OpNew() { cout << "OpNew::OpNew()" << endl;}
void* operator new(size_t sz) {
cout << "OpNew::new: "
<< sz << " bytes" << endl;
return ::new char[sz];
}
};
कैसे हुड के नीचे बयान OpNew *obj = new OpNew
काम करता है? चूंकि ओवरलोडेड नया ओपन न्यू क्लास का सदस्य स्थिर नहीं है। तो संकलक कैसे इस कॉल को new
सदस्य फ़ंक्शन सफल बनाता है?
यह * स्थिर होना चाहिए। –
मुझे आशा है कि आप 'ऑपरेटर डिलीट' को भी ओवरलोड करें, अन्यथा आपको अपरिभाषित व्यवहार मिल गया है। – sharptooth
बेशक मैंने किया, वह सिर्फ एक स्निपेट था :) –