Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ में यूनरी ऑपरेटर को ओवरलोड करना?

ऑपरेटर कीवर्ड एक फ़ंक्शन की घोषणा करता है जो निर्दिष्ट करता है कि किसी वर्ग के उदाहरणों पर लागू होने पर ऑपरेटर-प्रतीक का क्या अर्थ है। यह ऑपरेटर को एक से अधिक अर्थ देता है, या इसे "अधिभार" देता है। कंपाइलर एक ऑपरेटर के विभिन्न अर्थों के बीच उसके ऑपरेंड के प्रकारों की जांच करके अंतर करता है।

यूनरी ऑपरेटर एक ही ऑपरेंड पर काम करते हैं और यूनरी ऑपरेटरों के उदाहरण निम्नलिखित हैं -

  • इन्क्रीमेंट (++) और डिक्रीमेंट (--) ऑपरेटर्स।
  • यूनरी माइनस (-) ऑपरेटर।
  • तार्किक नहीं (!) ऑपरेटर।

यूनरी ऑपरेटर उस ऑब्जेक्ट पर काम करते हैं जिसके लिए उन्हें बुलाया गया था और आम तौर पर, यह ऑपरेटर ऑब्जेक्ट के बाईं ओर दिखाई देता है, जैसे कि !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 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. इंक्रीमेंट ++ और डिक्रीमेंट - सी ++ में ऑपरेटर ओवरलोडिंग

    इन्क्रीमेंट (++) और डिक्रीमेंट (--) ऑपरेटर्स एरिया यूनिट 2 आवश्यक यूनरी ऑपरेटर्स C++ में उपलब्ध हैं। निम्नलिखित उदाहरण समझाएं कि कैसे प्रीफिक्स के साथ-साथ पोस्टफिक्स उपयोग के लिए इंक्रीमेंट (++) ऑपरेटर को ओवरलोड किया जा सकता है। इसी तरह, आप ऑपरेटर (--) को ओवरलोड कर सकते हैं। उदाहरण #include <iost

  1. C++ में यूनरी ऑपरेटर्स

    यूनरी ऑपरेटर वे ऑपरेटर होते हैं जो एक नया मान उत्पन्न करने के लिए एकल ऑपरेंड पर कार्य करते हैं। यूनरी ऑपरेटर इस प्रकार हैं - इनडायरेक्शन ऑपरेटर (* ) - यह पॉइंटर वेरिएबल पर काम करता है, और पॉइंटर एड्रेस पर वैल्यू के बराबर एल-वैल्यू देता है। इसे पॉइंटर डेरेफेरेंसिंग कहा जाता है। ऑपरेटर का पता (&) -

  1. C++ . में यूनरी ऑपरेटर

    यूनरी ऑपरेटर वह ऑपरेटर होता है जो एक नया मान उत्पन्न करने के लिए एकल ऑपरेंड पर कार्य करता है। यूनरी ऑपरेटर इस प्रकार हैं: ऑपरेटर्स विवरण Indirection ऑपरेटर (*) यह एक पॉइंटर वेरिएबल पर काम करता है और पॉइंटर एड्रेस पर मान के बराबर एक एल-वैल्यू देता है। इसे पॉइंटर को डेरेफ्रेंसिंग कहा जाता है।