कभी-कभी मैं एक डिफ़ॉल्ट कन्स्ट्रक्टर प्रदान नहीं करना चाहता, न ही मैं चाहता हूं कि संकलक मेरी कक्षा के लिए सिस्टम डिफॉल्ट कन्स्ट्रक्टर प्रदान करे।डिफ़ॉल्ट कन्स्ट्रक्टर को कैसे हटाएं?
class MyClass
{
public:
MyClass() = delete;
};
लेकिन वर्तमान में मेरे लेक्चरर मुझे क्या करना है कि मेरे काम में अनुमति नहीं देता: सी ++ 11 में मैं की तरह बात कर सकते हैं। सवाल यह है: सी ++ 11 से पहले, क्या संकलक को स्पष्ट रूप से एक डिफ़ॉल्ट कन्स्ट्रक्टर प्रदान करने के लिए बताने का कोई तरीका है?
स्कॉट मेयर्स अपनी पुस्तक इफेक्टिव मॉडर्न सी ++ लिखते हैं, यह भी कि आप परिभाषा के बिना अपने निजी कन्स्ट्रक्टर को छोड़ सकते हैं। इससे आपको अपने डिफ़ॉल्ट कन्स्ट्रक्टर को मित्र वर्गों से आक्रमण से बचाने में मदद मिलेगी (लिंक त्रुटि फेंक दी जाएगी)। – MrPisarik