C++ এ, আমরা ওভারলোডিং ফাংশন ব্যবহার করতে পারি। এখন আমাদের মনে প্রশ্ন আসে যে, আমরা কি 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
main() ফাংশন কাটিয়ে উঠতে, আমরা তাদের ক্লাস মেম্বার হিসাবে ব্যবহার করতে পারি। প্রধানটি C++ এ C এর মত একটি সীমাবদ্ধ কীওয়ার্ড নয়।
উদাহরণ
#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