C++ स्ट्रीम एक्सट्रैक्शन ऑपरेटर>> और स्ट्रीम इंसर्शन ऑपरेटर <<का उपयोग करके अंतर्निहित डेटा प्रकारों को इनपुट और आउटपुट करने में सक्षम है। स्ट्रीम इंसर्शन और स्ट्रीम एक्सट्रैक्शन ऑपरेटरों को किसी ऑब्जेक्ट जैसे उपयोगकर्ता-परिभाषित प्रकारों के लिए इनपुट और आउटपुट करने के लिए भी ओवरलोड किया जा सकता है।
यहां, ऑपरेटर ओवरलोडिंग फ़ंक्शन को कक्षा का मित्र बनाना महत्वपूर्ण है क्योंकि इसे ऑब्जेक्ट बनाए बिना कहा जाएगा।
निम्नलिखित उदाहरण बताता है कि कैसे निष्कर्षण ऑपरेटर>> और सम्मिलन ऑपरेटर <<।
उदाहरण कोड
#include <iostream> using namespace std; class Distance { private: int feet; // 0 to infinite int inches; // 0 to 12 public: // required constructors 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 << "Enter the value of object : " << endl; cin >> D3; cout << "First Distance : " << D1 << endl; cout << "Second Distance :" << D2 << endl; cout << "Third Distance :" << D3 << endl; return 0; }
आउटपुट
$./a.out Enter the value of object : 70 10 First Distance : F : 11 I : 10 Second Distance :F : 5 I : 11 Third Distance :F : 70 I : 10