जैसा कि हम जानते हैं कि फंक्शन ओवरलोडिंग ऑब्जेक्ट ओरिएंटेड भाषाओं की मुख्य विशेषताओं में से एक है। हम कार्यों के समान नाम का उपयोग कर सकते हैं; जिनके पैरामीटर सेट अलग हैं। यहां हम देखेंगे कि C++ क्लास के कंस्ट्रक्टर्स को कैसे ओवरलोड किया जाए। कंस्ट्रक्टर ओवरलोडिंग में कुछ महत्वपूर्ण अवधारणाएँ होती हैं।
- ओवरलोडेड कंस्ट्रक्टर्स का एक ही नाम और तर्कों की संख्या अलग-अलग होनी चाहिए
- कन्स्ट्रक्टर को संख्या के आधार पर बुलाया जाता है और तर्कों के प्रकार पारित किए जाते हैं।
- ऑब्जेक्ट बनाते समय हमें तर्क पास करना होता है, अन्यथा कंस्ट्रक्टर समझ नहीं पाता है कि किस कंस्ट्रक्टर को कॉल किया जाएगा।
उदाहरण
#include <iostream> using namespace std; class Rect{ private: int area; public: Rect(){ area = 0; } Rect(int a, int b){ area = a * b; } void display(){ cout << "The area is: " << area << endl; } }; main(){ Rect r1; Rect r2(2, 6); r1.display(); r2.display(); }
आउटपुट
The area is: 0 The area is: 12