फ़ंक्शन ओवरलोडिंग दो सदस्य फ़ंक्शंस के बीच हो सकती है जिसमें पैरामीटर की संख्या समान होती है, यदि उनमें से एक को कॉन्स्ट के रूप में घोषित किया जाता है।कॉन्स पैरामीटर
लेकिन यदि एक समारोह में एक कॉन्स्ट तर्क है, तो दूसरे के पास एक ही प्रकार का गैर-कॉन्स्ट तर्क है? क्या यह संदर्भ और पॉइंटर्स के लिए काम करेगा? यदि सी ++ इसे प्रदान करता है, तो यह क्यों प्रदान करता है? यदि आप जानते हैं तो कृपया मेरे साथ कारण साझा करें।
नीचे उदाहरण है जो उपर्युक्त परिदृश्य को समझने में आपकी सहायता करता है।
void fun(const int i)
{
cout << "fun(const int) called ";
}
void fun(int i)
{
cout << "fun(int) called " ;
}
int main()
{
const int i = 10;
fun(i);
return 0;
}
आउटपुट: कंपाइलर त्रुटि: redefinition of 'void fun(int)'
void fun(char *a)
{
cout<<"non-const fun() called";
}
void fun(const char *a)
{
cout<<"const fun() called";
}
int main()
{
const char *ptr = "GeeksforGeeks";
fun(ptr);
return 0;
}
आउटपुट: स्थिरांक मज़ा()
बुलाया क्यों दूसरा एक सी में अनुमति दी है ++?
'शून्य मज़ेदार (char * const a) ' – PiotrNycz
के साथ प्रयास करें क्या अभी भी मेरे उत्तर से कुछ गुम है? यदि हां, तो कृपया मुझे बताएं, इसलिए मैं इसे बेहतर बना सकता हूं। :) यदि नहीं, तो क्या मैं इसे स्वीकार करने का सुझाव दे सकता हूं? – Xeo