কম্পিউটার টিউটোরিয়াল

C++-এ আনারি অপারেটর ওভারলোডিং


অপারেটর কীওয়ার্ড একটি ফাংশন ডিক্লেয়ার করে যা নির্দেশ করে একটি অপারেটর-সিম্বল কী বোঝাবে যখন একটি ক্লাসের ইনস্ট্যান্সের ওপর অ্যাপ্লাই করা হবে। এটি অপারেটরকে একাধিক অর্থ দেয়, বা "ওভারলোড" করে। কম্পাইলার অপারেটরের বিভিন্ন অর্থ এর অপারেন্ডের টাইপ খেয়াল করке ডিসটিংুইশ করে।

আনারি অপারেটরগুলো একটি অপারেন্ডের ওপর অপারেট করে এবং আনারি অপারেটরের উদাহরণগুলো হল -

  • ইনক্রিমেন্ট (++) এবং ডিক্রিমেন্ট (--) অপারেটর।
  • আনারি মাইনাস (-) অপারেটর।
  • লজিক্যাল নট (!) অপারেটর।

আনারি অপারেটরগুলো সেটি কল করা অবজেক্টের ওপর অপারেট করে এবং সাধারণত, এই অপারেটর অবজেক্টের বাম পাশে থাকে, যেমন !obj, -obj, এবং ++obj কিন্তু কখনো কখনো সেগুলো পোস্টফিক্স হিসেবে ব্যবহার করা যায় যেমন obj++ বা obj--।

নিচের উদাহরণ ব্যাখ্যা করে কিভাবে bang(!) অপারেটর প্রিফিক্স ব্যবহার জন্য ওভারলোড করা যায় -

উদাহরণ

#include 
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++-এ ইউনারি অপারেটর (Unary Operators)