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

C++ में स्ट्रीम इंसर्शन (<<) और एक्सट्रैक्शन (>>) ऑपरेटर्स को ओवरलोड करना


C++ बिल्ट-इन डेटा टाइप्स को स्ट्रीम एक्सट्रैक्शन ऑपरेटर >> और स्ट्रीम इंसर्शन ऑपरेटर << का उपयोग करके इनपुट और आउटपुट करने में सक्षम है। स्ट्रीम इंसर्शन और स्ट्रीम एक्सट्रैक्शन ऑपरेटर्स को यूजर-डिफाइंड टाइप्स जैसे ऑब्जेक्ट के लिए इनपुट और आउटपुट करने के लिए भी ओवरलोड किया जा सकता है।

यहां, ऑपरेटर ओवरलोडिंग फंक्शन को क्लास का फ्रेंड बनाना महत्वपूर्ण है क्योंकि इसे ऑब्जेक्ट बनाए बिना बुलाया जाएगा।

निम्नलिखित उदाहरण बताता है कि एक्सट्रैक्शन ऑपरेटर >> और इंसर्शन ऑपरेटर << कैसे काम करते हैं।

उदाहरण कोड

#include <iostream> using namespace std; class Distance {    private:    int feet; // 0 से अनंत    int inches; // 0 से 12    public:    // आवश्यक कंस्ट्रक्टर    Distance() {       feet = 0;       inches = 0;    }    Distance(int f, int i) {       feet = f;       inches = i;    }    friend ostream &operator<<( ostream &output, const Distance &D ) {       output << "F : " << D.feet << " I : " << D.inches;       return output;    }    friend istream &operator>>( istream &input, Distance &D ) {       input >> D.feet >> D.inches;       return input;    } }; int main() {    Distance D1(11, 10), D2(5, 11), D3;    cout << "ऑब्जेक्ट का मान दर्ज करें: " << endl;    cin >> D3; cout << "पहली दूरी: " << D1 << endl; cout << "दूसरी दूरी:" << D2 << endl; cout << "तीसरी दूरी:" << D3 << endl; return 0; }

आउटपुट

$./a.out ऑब्जेक्ट का मान दर्ज करें: 70 10 पहली दूरी: F : 11 I : 10 दूसरी दूरी:F : 5 I : 11 तीसरी दूरी:F : 70 I : 10

  1. - C++ में रिलेशनल और तुलना ऑपरेटर्स

    C प्रोग्रामिंग में, 2 वेरिएबल्स में रखे गए मानों की तुलना निम्न ऑपरेटर्स का उपयोग करके की जा सकती है और उनके बीच संबंध निर्धारित किया जाएगा। इन ऑपरेटर्स को रिलेशनल ऑपरेटर्स कहा जाता है। विभिन्न C++ रिलेशनल ऑपरेटर्स उपलब्ध हैं: ऑपरेटर्स विवरण > ग्रेटर दैन >= ग्रेटर दैन या बराबर == ब

  1. - C++ में इन्क्रीमेंट ++ और डिक्रीमेंट -- ऑपरेटर्स

    इन्क्रीमेंट ऑपरेटर ++ अपने ऑपरेंड में 1 जोड़ता है, और डिक्रीमेंट ऑपरेटर -- अपने ऑपरेंड से 1 घटाता है। इसलिए, x = x + 1; वही है x++; के और इसी तरह, x = x - 1; वही है x--; के इन्क्रीमेंट और डिक्रीमेंट ऑपरेटर्स दोनों या तो ऑपरेंड से पहले (प्रीफिक्स) या बाद में (पोस्टफिक्स) आ सकते हैं। x = x + 1; को ++

  1. - C++ में ऑपरेटर ओवरलोडिंग के बुनियादी नियम और मुहावरे

    जब C++ में ऑपरेटर ओवरलोडिंग की बात आती है, तो 3 बुनियादी नियम हैं जिनका आपको पालन करना चाहिए। सभी ऐसे नियमों की तरह, अपवाद भी हैं। ये 3 नियम हैं: 1. जब भी किसी ऑपरेटर का अर्थ स्पष्ट रूप से स्पष्ट और निर्विवाद नहीं होता, तो इसे ओवरलोड नहीं किया जाना चाहिए। इसके बजाय, एक अच्छे चुने हुए नाम के साथ एक