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

সি++-এ ওভারলোড করা যাবে না এমন ফাংশনগুলো


ফাংশন ওভারলোডিং (পলিমরফিজমের বৈশিষ্ট্য) এর জন্য শর্তগুলো পূরণ করতে হয়:

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

ওভারলোড করা যাবে না এমন ফাংশন들의 উদাহরণ

১. ভিন্ন নাম ও ভিন্ন প্যারামিটার সংখ্যা

int max_two(int a, int b);      // ২টি প্যারামিটার
int max_three(int a, int b, int c); // ৩টি প্যারামিটার
// নাম ভিন্ন, তাই ওভারলোডিং নয়

২. একই নাম কিন্তু ভিন্ন রিটার্ন টাইপ

int max_two(int a, int b);
float max_two(int a, int b); // রিটার্ন টাইপ ভিন্ন → কম্পাইল এরর

৩. স্ট্যাটিক মেম্বার ফাংশন vs নন-স্ট্যাটিক

class check{
    static void test(int i) {}
    void test(int i) {} // স্ট্যাটিক ও নন-স্ট্যাটিক একসাথে → ওভারলোড হয় না
};

৪. ডিফল্ট আর্গুমেন্টের কারণে দ্বন্দ্ব

int func_1(int a, int b){ return a*b; }
int func_1(int a, int b = 40){ return a+b; } // দ্বিতীয়টি ডিফল্ট আর্গুমেন্ট دار
// func_1(10,20) কল করলে দ্বন্দ্ব → কম্পাইল এরর

উপরের ক্ষেত্রগুলোতে কম্পাইলার রি-ডিক্লেরেশন এরর দেবে।


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

  2. C++-এ static_cast

  3. সি++-এ যেসব ফাংশন ওভারলোড করা যায় না

  4. C++-এ ওভারলোড করা যাবে না এমন অপারেটরগুলো