অপারেটর ওভারলোডিং (Operator Overloading):
C++-এ অপারেটর ওভারলোডিং হল একটি প্রক্রিয়া যার মাধ্যমে পূর্বে সংজ্ঞায়িত অপারেটরগুলির আচরণ পুনঃসংজ্ঞায়িত করা হয়। এর মাধ্যমে ব্যবহারকারীরা তাদের নিজস্ব ডেটা টাইপের জন্য অপারেটরগুলিকে পুনঃব্যবহার করতে পারে। এটি একটি পদ্ধতি যা C++-এ অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং এর অংশ হিসেবে আসে।
অপারেটর ওভারলোডিংয়ের সিনট্যাক্স:
- অপারেটর ওভারলোডিংয়ের জন্য operator কিওয়ার্ড ব্যবহার করা হয়।
- অপারেটরটি পুনঃসংজ্ঞায়িত করতে তার পরেও যে ডেটা টাইপের জন্য তা প্রযোজ্য, সেই অনুযায়ী ফাংশন তৈরি করতে হয়।
অপারেটর ওভারলোডিংয়ের উদাহরণ:
#include
using namespace std;
class Complex {
private:
int real, imag;
public:
Complex() : real(0), imag(0) {}
// অপারেটর ওভারলোডিং (operator+)
Complex operator+(const Complex &obj) {
Complex temp;
temp.real = real + obj.real;
temp.imag = imag + obj.imag;
return temp;
}
void display() {
cout
কাজের ব্যাখ্যা:
- এই উদাহরণে, operator+ ফাংশনটি অপারেটর "+" এর জন্য ওভারলোড করেছে যাতে দুইটি কমপ্লেক্স নাম্বারের যোগফল করা যায়।
- আমরা Complex ক্লাসের দুটি অবজেক্টকে + অপারেটর ব্যবহার করে যোগ করেছি।
- এইভাবে, + অপারেটর আমাদের নিজস্ব ডেটা টাইপের জন্য কাজ করছে।
সারাংশ:
- অপারেটর ওভারলোডিং C++-এ ব্যবহারকারী সংজ্ঞায়িত ডেটা টাইপগুলির জন্য অপারেটরগুলির আচরণ পরিবর্তন করতে ব্যবহৃত হয়।