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
}