অপারেটর কীওয়ার্ডটি একটি ফাংশন ঘোষণা করে যা নির্দিষ্ট করে যে অপারেটর-সিম্বলের অর্থ কী, যখন একটি ক্লাসের উদাহরণে প্রয়োগ করা হয়। এটি অপারেটরকে একাধিক অর্থ দেয় বা এটিকে "ওভারলোড" করে। কম্পাইলার তার অপারেন্ডের প্রকার পরীক্ষা করে অপারেটরের বিভিন্ন অর্থের মধ্যে পার্থক্য করে।
ইউনারি অপারেটরগুলি একটি একক অপারেন্ডে কাজ করে এবং নিম্নলিখিতগুলি হল ইউনারি অপারেটরগুলির উদাহরণ -
- বৃদ্ধি (++) এবং হ্রাস (--) অপারেটর।
- ইউনারি মাইনাস (-) অপারেটর।
- যৌক্তিক নয় (!) অপারেটর।
ইউনারী অপারেটররা সেই বস্তুর উপর কাজ করে যার জন্য তাদের ডাকা হয়েছিল এবং সাধারণত, এই অপারেটরটি বস্তুর বাম দিকে প্রদর্শিত হয়, যেমন !obj, -obj, এবং ++obj কিন্তু কখনও কখনও এগুলি পোস্টফিক্স হিসাবেও ব্যবহার করা যেতে পারে obj++ এর মতো অথবা বস্তু--।
নিম্নলিখিত উদাহরণ ব্যাখ্যা করে কিভাবে মাইনাস(-) অপারেটরকে উপসর্গ ব্যবহারের জন্য ওভারলোড করা যেতে পারে −
উদাহরণ
#include <iostream>
using namespace std;
class Distance {
private:
int feet;
int inches;
public:
// Constructor
Distance(int f, int i) {
feet = f;
inches = i;
}
// method to display distance
void display() {
cout << "F: " << feet << " I:" << inches <<endl;
}
// overloaded minus(-) operator
Distance operator-() {
feet = -feet;
inches = -inches;
return Distance(feet, inches);
}
};
int main() {
Distance D1(3, 4), D2(-1, 10);
!D1;
D1.display();
!D2;
D2.display();
return 0;
} আউটপুট
এটি −
আউটপুট দেবেF: -3 I:-4 F: 1 I:-10