একই সুযোগে একই ফাংশনের নামের জন্য আপনার একাধিক সংজ্ঞা থাকতে পারে। ফাংশনের সংজ্ঞাটি আর্গুমেন্ট তালিকার প্রকার এবং/অথবা আর্গুমেন্টের সংখ্যা দ্বারা একে অপরের থেকে আলাদা হতে হবে। আপনি ফাংশন ঘোষণা ওভারলোড করতে পারবেন না যেগুলি শুধুমাত্র রিটার্নের ধরন দ্বারা আলাদা৷
৷ফাংশন ওভারলোডিং মূলত কম্পাইল টাইম পলিমরফিজম। এটি ফাংশন স্বাক্ষর পরীক্ষা করে। যদি স্বাক্ষর একই না হয়, তাহলে তারা ওভারলোড হতে পারে। একটি ফাংশনের রিটার্ন টাইপ ফাংশন ওভারলোডিংয়ের উপর কোন প্রভাব তৈরি করে না। বিভিন্ন রিটার্ন টাইপ সহ একই ফাংশন স্বাক্ষর ওভারলোড করা হবে না।
নিম্নে উদাহরণ দেওয়া হল যেখানে একই ফাংশন print() ব্যবহার করা হচ্ছে বিভিন্ন ধরনের ডাটা প্রিন্ট করতে
উদাহরণ কোড
#include <iostream> using namespace std; class printData { public: void print(int i) { cout << "Printing int: " << i << endl; } void print(double f) { cout << "Printing float: " << f << endl; } void print(char* c) { cout << "Printing character: " << c << endl; } }; int main(void) { printData pd; pd.print(5); // Call print to print integer pd.print(500.263); // Call print to print float pd.print("Hello C++"); // Call print to print character return 0; }প্রিন্ট করতে প্রিন্ট কল করুন
আউটপুট
Printing int: 5 Printing float: 500.263 Printing character: Hello C++