में चेनिंग निर्माता श्रृंखलन की मेरी समझ है कि, जब एक वर्ग में एक से अधिक निर्माताओं (अतिभारित कंस्ट्रक्टर्स), देखते हैं अगर उनमें से एक दूसरे के निर्माता तो कॉल करने के लिए, इस प्रक्रिया निर्माता श्रृंखलन कहा जाता है की कोशिश करता है, जो सी ++ में समर्थित नहीं है। हाल ही में मैं ऑनलाइन सामग्री को पढ़ने के दौरान इस पैरा में आए .... यह इस तरह से चला जाता है ...निर्माता सी ++
आप स्थिति है जहाँ आप के लिए एक सदस्य समारोह लिखना चाहते हैं में अपने आप को मिल सकता है एक वर्ग वापस पुनः आरंभ कर देगा डिफ़ॉल्ट मानों के लिए। क्योंकि आपके पास पहले से ही एक कन्स्ट्रक्टर है जो ऐसा करता है, आप अपने सदस्य फ़ंक्शन से कन्स्ट्रक्टर को कॉल करने का प्रयास करने के लिए लुभाने वाले हो सकते हैं। जैसा कि बताया गया है, सी ++ में कन्स्ट्रक्टर कॉल चेनिंग अवैध है। आप अपने फ़ंक्शन में कन्स्ट्रक्टर से कोड कॉपी कर सकते हैं, जो काम करेगा, लेकिन डुप्लिकेट कोड का नेतृत्व करेगा। इस मामले में सबसे अच्छा समाधान कन्स्ट्रक्टर से कोड को अपने नए फ़ंक्शन में ले जाना है, और कन्स्ट्रक्टर डेटा को प्रारंभ करने के काम को करने के लिए अपने फ़ंक्शन को कॉल करना है।
निर्माता भी निर्माता श्रृंखलन के दायरे में आ बुला एक सदस्य समारोह करता है ?? कृपया इस विषय पर सी ++ में कुछ प्रकाश डालें।
मैं नहीं कह चाहते हैं, और यह एक गैर sequitur है लेख कहने के लिए कि निर्माता श्रृंखलन अवैध है, तुरंत कह कुछ मनमाने ढंग से सदस्य समारोह (जरूरी नहीं एक निर्माता) सोच सकते हैं कि यह पुनर्स्थापित करने के लिए एक निर्माता कॉल करने के लिए चाहता है के बाद महत्व। लेकिन कौन जानता है, आपने लेख का उद्धरण नहीं दिया है या उद्धृत किया है जहां यह कन्स्ट्रक्टर चेनिंग का वर्णन करता है, इसलिए हो सकता है कि यह किसी अन्य असामान्य अर्थ में इसका उपयोग कर रहा हो, पहले से ही कहीं और वर्णित है। –
यह अवैध नहीं है। किसी सदस्य से एक कन्स्ट्रक्टर को कॉल करने का एक अस्थायी ऑब्जेक्ट बनाने का प्रभाव होता है जिस पर निर्माण लागू होता है, न कि 'यह' ऑब्जेक्ट जिसे आप कॉल करते हैं। –
@Amardeep: सहमत है, यह कहना है कि निर्माता श्रृंखलन "असंभव" सी ++ 03 में, के बजाय "अवैध" है ज्यादा सही होगा। ऐसा करने के वर्णन के लिए बस कोई वाक्यविन्यास नहीं है। जैसा कि आप कहते हैं, एक कन्स्ट्रक्टर को बुलाए जाने वाली सामान्य परिभाषा द्वारा कन्स्ट्रक्टर चेनिंग जैसी ही चीज नहीं है। –