तुम सिर्फ दो अलग अलग निर्माताओं बना सकते हैं:
T(const T&)
T(const T&,double)
हालांकि, तुम्हारे पास क्या है एक प्रति निर्माता के रूप में अनुमति दी है।
एक तरफ ध्यान दें, मैंने पाया है कि सी ++ में डिफ़ॉल्ट पैरामीटर का उपयोग करना आम तौर पर अच्छा विचार नहीं है, और यह अधिभारों का उपयोग करने के लिए बेहतर है, जहां कम पैरामीटर वाले वाले लोग अधिक पैरामीटर के साथ आते हैं, डिफ़ॉल्ट मानों का उपयोग करना (निश्चित रूप से आईएसओ सी ++ 2003 में रचनाकारों के साथ संभव नहीं है, लेकिन आईएसओ सी ++ 201x में कंसल्टर्स को अनुमति देने की अनुमति है)। इसका कारण यह है कि डिफ़ॉल्ट मान आपके कार्यों को उनके स्पष्ट व्यवहार से अलग वास्तविक हस्ताक्षर देते हैं, जिससे फ़ंक्शंस को पॉइंटर्स लेते समय इसे थोड़ा मुश्किल/दर्दनाक बना दिया जाता है। अधिभार प्रदान करके, प्रत्येक संभावित आमंत्रण प्रकार के फ़ंक्शन पॉइंटर्स को इसे बनाने के लिए "बाध्यकारी" तंत्र की आवश्यकता के बिना लिया जा सकता है।
स्रोत
2010-05-07 09:48:31
देखें [यह पीआर] (http://llvm.org/bugs/show_bug.cgi?id=5989) मैंने कुछ समय पहले कुछ गेमों के साथ खेलने के लिए झुकाव भेजा था। –
http://punchlet.wordpress.com/2009/12/03/letter-the-third/ –