निम्न कोड में:सी ++ में, केवल डिफॉल्ट कन्स्ट्रक्टर के साथ एक डिफॉल्ट कन्स्ट्रक्टर वाला कन्स्ट्रक्टर है?
struct Foo
{
Foo(int x=0);
};
निर्माता एक डिफ़ॉल्ट निर्माता के रूप में गिनती करता है?
निम्न कोड में:सी ++ में, केवल डिफॉल्ट कन्स्ट्रक्टर के साथ एक डिफॉल्ट कन्स्ट्रक्टर वाला कन्स्ट्रक्टर है?
struct Foo
{
Foo(int x=0);
};
निर्माता एक डिफ़ॉल्ट निर्माता के रूप में गिनती करता है?
सी ++ 98 §12.1/5 (जोर मेरा):
एक वर्ग एक्स के लिए एक डिफ़ॉल्ट निर्माता एक्स के एक निर्माता है कि एक तर्क के बिना कहा जा सकता है। यदि कक्षा X के लिए कोई उपयोगकर्ता द्वारा घोषित कन्स्ट्रक्टर नहीं है, तो एक डिफ़ॉल्ट कन्स्ट्रक्टर को निश्चित रूप से घोषित किया जाता है।
तो हाँ, यह एक डिफ़ॉल्ट कन्स्ट्रक्टर के रूप में गिना जाता है। See also।
डिफ़ॉल्ट कन्स्ट्रक्टर स्वचालित रूप से संकलक द्वारा उत्पन्न होता है जब आप एक को परिभाषित नहीं करते हैं। तो मैं नहीं कहूंगा, ऐसा इसलिए नहीं है क्योंकि आपने इसे – peacemaker
@peacemaker को परिभाषित किया है, वास्तव में एक डिफॉल्ट कन्स्ट्रक्टर कोई कन्स्ट्रक्टर नहीं है जिसमें कोई तर्क नहीं है – Matt
@peacemaker: आप डिफ़ॉल्ट रूप से "डिफ़ॉल्ट रूप से प्रदान किए गए" में डिफ़ॉल्ट रूप से भ्रमित कर रहे हैं जैसे " डिफ़ॉल्ट रूप से बुलाया जाता है "। मानक बाद के संदर्भ में शब्द का उपयोग करता है। –