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