পলিমরফিজম হল অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর একটি মূল বৈশিষ্ট্য যার মানে একাধিক ফর্ম থাকা। এটি C++ এ কম্পাইল টাইম পলিমরফিজম এবং রানটাইম পলিমরফিজম এ বিভক্ত।
কম্পাইল টাইম পলিমারফিজমের একটি উদাহরণ হল ফাংশন ওভারলোডিং বা অপারেটর ওভারলোডিং। রানটাইম পলিমারফিজমের একটি উদাহরণ হল ফাংশন ওভাররাইডিং।
C++ এ ফাংশন ওভারলোডিং ব্যবহার করে পলিমরফিজমের একটি উদাহরণ নিম্নরূপ দেওয়া হল।
উদাহরণ
#include <iostream> using namespace std; class Example { public : void func(int a) { cout << "\nThe value of a: " << a; } void func(int a, int b) { cout << "\nThe value of a: " << a; cout << "\nThe value of b: " << b; } void func(char c) { cout << "\nThe value of c: " << c; } }; int main() { Example obj; cout<< "\nOne int value"; obj.func(5); cout<< "\nOne char value"; obj.func('A'); cout<< "\nTwo int values"; obj.func(7, 2); return 0; }
আউটপুট
উপরের প্রোগ্রামের আউটপুট নিম্নরূপ।
One int value The value of a: 5 One char value The value of c: A Two int values The value of a: 7 The value of b: 2
এখন, আসুন আমরা উপরের প্রোগ্রামটি বুঝতে পারি।
ক্লাসের উদাহরণের সদস্য ফাংশন ফাংশনটি ওভারলোড করা হয়েছে। বিভিন্ন প্যারামিটার সহ 3টি func() ফাংশন রয়েছে যা প্রয়োজন অনুসারে নির্বাচন করা যেতে পারে। এর জন্য কোড স্নিপেট নিম্নরূপ দেওয়া হয়েছে।
class Example { public : void func(int a) { cout << "\nThe value of a: " << a; } void func(int a, int b) { cout << "\nThe value of a: " << a; cout << "\nThe value of b: " << b; } void func(char c) { cout << "\nThe value of c: " << c; } };
ফাংশনে main(), ক্লাসের উদাহরণের একটি অবজেক্ট অবজেক্ট তৈরি করা হয়। ফাংশন ফাংশন ওভারলোডিং প্রদর্শনের জন্য বিভিন্ন আর্গুমেন্ট সহ ফাংশন ফাংশন () বলা হয়। এর জন্য কোড স্নিপেট নিম্নরূপ দেওয়া হয়েছে।
int main() { Example obj; cout<< "\nOne int value"; obj.func(5); cout<< "\nOne char value"; obj.func('A'); cout<< "\nTwo int values"; obj.func(7, 2); return 0; }