मेरा प्रश्न सरल है। हमें डिफॉल्ट कन्स्ट्रक्टर की आवश्यकता कब होती है? कृपया नीचे दिए गए कोड का संदर्भ लें:हमें एक डिफ़ॉल्ट कन्स्ट्रक्टर कब चाहिए?
class Shape
{
int k;
public:
Shape(int n) : k(n) {}
~Shape() {}
};
class Rect : public Shape
{
int l;
public:
Rect(int n): l(n)
{} //error C2512: 'Shape' : no appropriate default constructor available
~Rect() {}
};
क्यों संकलक वर्ग रेक्ट में परोक्ष शून्य तर्क डिफ़ॉल्ट निर्माता नहीं पैदा कर रहा?
मेरे ज्ञान के अनुसार, यदि एक वर्ग (आयत) किसी अन्य वर्ग (आकार) से लिया गया है जिसमें डिफ़ॉल्ट कन्स्ट्रक्टर (या तो अंतर्निहित रूप से जेनरेट या स्पष्ट रूप से प्रदान किया गया है), तो डिफ़ॉल्ट कन्स्ट्रक्टर को संकलक द्वारा उत्पन्न किया जाना चाहिए।
वह हिस्सा कहां है जहां आप रेक्ट ऑब्जेक्ट बनाते हैं और इसका उपयोग करते हैं? शायद आप इसे 'रेक्ट आरईसी' की तरह बनाते हैं; जो एक डिफ़ॉल्ट contructor की जरूरत है। – RvdK
आईआईआरसी यदि आप एक निर्माता को निर्दिष्ट नहीं करते हैं तो संकलक आपके लिए एक डिफ़ॉल्ट बना देगा। लेकिन अगर आप एक निर्दिष्ट करते हैं तो इसमें केवल एक ही होगा। – RvdK
ctor == निर्माता ... आह! –