অপারেটর কীওয়ার্ডটি একটি ফাংশন ঘোষণা করে যা নির্দিষ্ট করে যে অপারেটর-সিম্বলটি একটি ক্লাসের উদাহরণে প্রয়োগ করার সময় কী বোঝায়। এটি অপারেটরকে একাধিক অর্থ দেয় বা এটিকে "ওভারলোড" করে। কম্পাইলার তার অপারেন্ডের প্রকার পরীক্ষা করে অপারেটরের বিভিন্ন অর্থের মধ্যে পার্থক্য করে।
ইউনারি অপারেটরগুলি একটি একক অপারেন্ডে কাজ করে এবং নিম্নলিখিতগুলি হল ইউনারি অপারেটরগুলির উদাহরণ -
- বৃদ্ধি (++) এবং হ্রাস (--) অপারেটর।
- ইউনারি মাইনাস (-) অপারেটর।
- যৌক্তিক নয় (!) অপারেটর।
ইউনারি অপারেটররা সেই বস্তুর উপর কাজ করে যার জন্য তাদের ডাকা হয়েছিল এবং সাধারণত, এই অপারেটরটি বস্তুর বাম দিকে প্রদর্শিত হয়, যেমন !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