ইউনারি অপারেটর (Unary operators) একটি একক অপারেন্ড ওপর কাজ করে এবং ইউনারি অপারেটরএর উদাহরণগুলো হলো:
- ইনক্রিমেন্ট (
++) এবং ডিক্রিমেন্ট (--) অপারেটর। - ইউনারি মাইনাস (
-) অপারেটর। - লজিক্যাল NOT (
!) অপারেটর।
ইউনারি অপারেটরগুলো সে অবজেক্টের ওপর কাজ করে जिसके জন্য সেগুলো কল করা হয় এবং সাধারণত এই অপারেটর অবজেক্টের বামপাশে দেখা যায়, যেমন !obj, -obj, এবং ++obj কিন্তু কখনো কখনো এগুলো পোস্টফিক্স হিসাবেও ব্যবহার করা যায় যেমন obj++ বা obj--।
নিচের উদাহরণটি দেখায় কীভাবে ব্যাং (!) অপারেটর প্রিফিক্স ইউজের জন্য ওভারলোড করা যায়:
উদাহরণ
#include <iostream>
using namespace std;
class Distance {
private:
int feet; // 0 to infinite
int inches; // 0 to 12
public:
// কনস্ট্রাক্টর
Distance(int f, int i) {
feet = f;
inches = i;
}
// ডিস্ট্যান্স ডিসপ্লে মেথড
void display() {
cout << "F: " << feet << " I:" << inches << endl;
}
// ওভারলোডেড ব্যাং (!) অপারেটর
Distance operator!() {
feet = -feet;
inches = -inches;
return Distance(feet, inches);
}
};
int main() {
Distance D1(3, 4), D2(-1, 10);
!D1;
D1.display(); // D1 ডিসপ্লে
!D2; // 네가শন প্রয়োগ
D2.display(); // D2 ডিসপ্লে
return 0;
}
আউটপুট
F: -3 I:-4 F: 1 I:-10