सी ++ उनके रिटर्न प्रकार के आधार पर विधियों के लिए बहुरूपता की अनुमति नहीं देता है। हालांकि, जब एक निहित रूपांतरण सदस्य फ़ंक्शन ओवरलोड करना यह संभव लगता है।रिटर्न प्रकार द्वारा निहित रूपांतरण सदस्य कार्य ओवरलोडिंग क्यों करते हैं, जबकि सामान्य कार्यों के लिए इसकी अनुमति नहीं है?
क्या किसी को पता है क्यों? मैंने सोचा कि ऑपरेटरों को आंतरिक रूप से तरीकों से संभाला जाता है।
संपादित करें:
struct func {
operator string() { return "1";}
operator int() { return 2; }
};
int main() {
int x = func(); // calls int version
string y = func(); // calls string version
double d = func(); // calls int version
cout << func() << endl; // calls int version
}
आपको एक उदाहरण प्रदान कर सकता है? मुझे यकीन नहीं है कि रिटर्न प्रकार से ओवरलोडिंग का मतलब क्या है। –
क्या आप एक उदाहरण प्रदान करेंगे? – jkeys