सी ++ में, हम फ़ंक्शन ओवरलोडिंग का उपयोग कर सकते हैं। अब हमारे मन में यह सवाल आता है कि क्या हम main() फंक्शन को भी ओवरलोड कर सकते हैं?
आइए विचार प्राप्त करने के लिए एक कार्यक्रम देखें।
उदाहरण
#include <iostream> using namespace std; int main(int x) { cout << "Value of x: " << x << "\n"; return 0; } int main(char *y) { cout << "Value of string y: " << y << "\n"; return 0; } int main(int x, int y) { cout << "Value of x and y: " << x << ", " << y << "\n"; return 0; } int main() { main(10); main("Hello"); main(15, 25); }
आउटपुट
This will generate some errors. It will say there are some conflict in declaration of main() function
मुख्य () फ़ंक्शन को दूर करने के लिए, हम उन्हें कक्षा के सदस्य के रूप में उपयोग कर सकते हैं। मुख्य सी ++ में सी की तरह प्रतिबंधित कीवर्ड नहीं है।
उदाहरण
#include <iostream> using namespace std; class my_class { public: int main(int x) { cout << "Value of x: " << x << "\n"; return 0; } int main(char *y) { cout << "Value of string y: " << y << "\n"; return 0; } int main(int x, int y) { cout << "Value of x and y: " << x << ", " << y << "\n"; return 0; } }; int main() { my_class obj; obj.main(10); obj.main("Hello"); obj.main(15, 25); }
आउटपुट
Value of x: 10 Value of string y: Hello Value of x and y: 15, 25