কম্পিউটার

ওভারলোডিং ইউনারি অপারেটর + সি++ এ


অপারেটর কীওয়ার্ডটি একটি ফাংশন ঘোষণা করে যা নির্দিষ্ট করে যে অপারেটর-সিম্বলের অর্থ যা একবার একটি ক্লাসের উদাহরণে প্রয়োগ করা হয়। এটি অপারেটরকে একাধিক অর্থ দেয় বা এটিকে "ওভারলোড" করে। কম্পাইলার তার অপারেন্ডের প্রকার পরীক্ষা করে অপারেটরের বিভিন্ন অর্থের মধ্যে পার্থক্য করে।

ইউনারি অপারেটরগুলি একটি একক অপারেন্ডে কাজ করে এবং নিম্নলিখিতগুলি হল ইউনারি অপারেটরগুলির উদাহরণ -

  • বৃদ্ধি (++) এবং হ্রাস (--) অপারেটর।
  • ইউনারি মাইনাস (-) অপারেটর।
  • যৌক্তিক নয় (!) অপারেটর।

ইউনারি অপারেটররা সেই বস্তুতে কাজ করে যার জন্য তাদের ডাকা হয়েছিল এবং সাধারণত, এই অপারেটরটি বস্তুর বাম দিকে প্রদর্শিত হয়, যেমন +obj, !obj, -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 plus(+) operator
   Distance operator+() {
      if(inches == 11) {
         inches = 0;
         feet = feet + 1;
      } else {
         inches = inches + 1;
      }
      return Distance(feet, inches);
   }
};

int main() {
   Distance D1(3, 4), D2(1, 11);

   +D1;
   D1.display();

   +D2;
   D2.display();

   return 0;
}

আউটপুট

এটি আউটপুট দেবে −

F: 3 I:5
F: 2 I:0

  1. C++ এ ইউনারি অপারেটর

  2. C++ এ ইউনারি অপারেটর

  3. C++ এ বিটওয়াইজ অপারেটর

  4. C++ এ রিলেশনাল অপারেটর