Overloading Stream Insertion and Extraction Operators
This video tutorial made by the Learning Lad youtube chanel explains how to Overload Stream Insertion and Stream Extraction Operators in c++.
You will learn what is the syntax to overload stream insertion and stream extraction operators, how to make stream insertion and extraction operators to work with a user defined custom class, how to define the stream insertion and extraction operators as friend to a class, how to write the operator function in detail with example.
source code for this tutorial
#include <iostream>
#include <string>
using namespace std;
class Person{
string name;
int age;
public:
Person(){
name = "noname";
age = 0;
}
friend ostream &operator << (ostream &output,Person &p);
friend istream &operator >> (istream &input, Person &p);
};
ostream &operator << (ostream &output,Person &p){
output << "what the hack "<<endl;
output << "my name is "<< p.name << " and my age is "<<p.age << endl;
return output;
}
istream &operator >> (istream &input,Person &p){
input >> p.name >> p.age;
return input;
}
int main()
{
cout << "enter the name and age "<<endl;
Person anil;
cin >> anil;
cout << anil;
return 0;
}