কম্পিউটার

C++ এ একটি ইউনারী অপারেটর ওভারলোডিং কি?


একক অপারেটরগুলি একটি পরিমাণে কাজ করে এবং নিম্নলিখিতগুলি একক অপারেটরগুলির নমুনাগুলি হল - - বৃদ্ধি ( ) এবং হ্রাস (--) অপারেটর৷ কম্পাইলার তার অপারেন্ডের প্রকার পরীক্ষা করে অপারেটরের বিভিন্ন অর্থের মধ্যে পার্থক্য করে।

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

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

ইউনারী অপারেটররা সেই বস্তুর উপর কাজ করে যার জন্য তাদের ডাকা হয়েছিল এবং সাধারণত, এই অপারেটরটি বস্তুর বাম দিকে প্রদর্শিত হয়, যেমন !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

  1. C++ এ ডট অপারেটর কি?

  2. C++ এ কমা অপারেটর কি?

  3. C++ এ অপারেটরের সাইজ কি?

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