ऑपरेटर कीवर्ड एक फ़ंक्शन की घोषणा करता है जो निर्दिष्ट करता है कि किसी वर्ग के उदाहरणों पर लागू होने पर ऑपरेटर-प्रतीक का क्या अर्थ है। यह ऑपरेटर को एक से अधिक अर्थ देता है, या इसे "अधिभार" देता है। कंपाइलर एक ऑपरेटर के विभिन्न अर्थों के बीच उसके ऑपरेंड के प्रकारों की जांच करके अंतर करता है।
यूनरी ऑपरेटर एक ही ऑपरेंड पर काम करते हैं और यूनरी ऑपरेटरों के उदाहरण निम्नलिखित हैं -
- इन्क्रीमेंट (++) और डिक्रीमेंट (--) ऑपरेटर्स।
- यूनरी माइनस (-) ऑपरेटर।
- तार्किक नहीं (!) ऑपरेटर।
यूनरी ऑपरेटर उस ऑब्जेक्ट पर काम करते हैं जिसके लिए उन्हें बुलाया गया था और आम तौर पर, यह ऑपरेटर ऑब्जेक्ट के बाईं ओर दिखाई देता है, जैसे कि !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