কম্পিউটার টিউটোরিয়াল

C++-এ main() ফাংশন কি ওভারলোড করা যায়?

C++-এ main() ফাংশন ওভারলোড করা সম্ভব নয়। প্রোগ্রামের এন্ট্রি পয়েন্ট শুধু একটি main() হতে পারে। একাধিক main() ডিক্লেয়ার করলে কম্পাইলেশন এরর হয়।

ভুল উদাহরণ

int main(int x) { ... }
int main(char* y) { ... }
int main(int x, int y) { ... }
int main() { ... } // Error: multiple definitions of main

সমাধান: ক্লাস মেম্বার ফাংশন হিসেবে main() ব্যবহার

main সি++-এ রিজার্ভড কীওয়ার্ড নয় (C-তে হলো)। তাই ক্লাস মেম্বার ফাংশন হিসেবে নাম দিয়ে ওভারলোড করা যায়।

#include <iostream>
using namespace std;

class MyClass {
public:
    int main(int x) { cout << "x: " << x << endl; return 0; }
    int main(char* y) { cout << "y: " << y << endl; return 0; }
    int main(int x, int y) { cout << "x,y: " << x << "," << y << endl; return 0; }
};

int main() {
    MyClass obj;
    obj.main(10);
    obj.main("Hello");
    obj.main(15, 25);
    return 0;
}

আউটপুট

x: 10
y: Hello
x,y: 15, 25

দ্রষ্টব্য: গ্লোবাল main() শুধু একটা থাকতে পারে। ক্লাস মেম্বার হিসেবে যেকোনো নাম ব্যবহার করা যায়।

  1. C++-এ Line Reflection: ২D প্লেনে বিন্দুগুলোর Y-অক্ষ সমান্তরাল প্রতিফলন লাইন আছে কিনা যাচাই করা

  2. C++-এ ডায়াগোনাল ট্রায়ভার্স II

  3. C++-এ main ফাংশন কি নিজেকে কল করতে পারে?

  4. C++-এ main ফাংশনের সঠিক ডিক্লেরেশন কী?