C++ এ, আমরা ফাংশন ওভারলোড করতে পারি। কিন্তু অনেক সময় ওভারলোডিং করা হয় না। এই বিভাগে, আমরা দেখব বিভিন্ন ক্ষেত্রে কী কী, যেখানে আমরা ফাংশন ওভারলোড করতে পারি না।
-
যখন ফাংশন স্বাক্ষর একই হয়, শুধুমাত্র রিটার্ন টাইপ ভিন্ন হয়, তখন আমরা ফাংশনটি ওভারলোড করতে পারি না।
int my_func() { return 5; } char my_func() { return 'd'; }
-
যখন একটি ক্লাসে সদস্য ফাংশনগুলির একই নাম এবং একই প্যারামিটার তালিকা থাকে, তখন সেগুলি ওভারলোড করা যাবে না৷
class My_Class{ static void func(int x) { //Something } void func(int x) { //something } };
-
যখন প্যারামিটার ঘোষণা, এটি শুধুমাত্র একটি পয়েন্টার * এবং একটি অ্যারে [] একই রকম হয়।
int my_func(int *arr) { //Do something } int my_func(int arr[]) { //do something }
-
যখন প্যারামিটার ঘোষণা, শুধুমাত্র ধ্রুবক বা উদ্বায়ী কোয়ালিফায়ারের উপস্থিতিতে ভিন্ন হয়।
int my_func(int x) { //Do something } int my_func(const int x) { //do something }
-
যখন প্যারামিটার ঘোষণা, যেটি শুধুমাত্র তাদের ডিফল্ট আর্গুমেন্টে ভিন্ন হয় তা সমতুল্য।
int my_func(int a, int b) { //Do something } int my_func(int a, int b = 50) { //do something }