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