Override and input output stream operator : Inserter Extractor « Overload « C++






Override and input output stream operator

   
#include <iostream>
#include <string.h>
using namespace std;
class Employee 
{
 public:
   Employee(void) {};
   Employee(char *name, char sex, int age, char *phone) 
   {
     strcpy(Employee::name, name);
     Employee::sex = sex;
     Employee::age = age;
     strcpy(Employee::phone, phone); 
   };
     friend ostream &operator<<(ostream &cout, Employee emp);
     friend istream &operator>>(istream &stream, Employee &emp);
 private:
   char name[256];
   char phone[64];
   int age;
   char sex;
};

ostream &operator<<(ostream &cout, Employee emp)
 {
   cout << "Name: " << emp.name << "\tSex: " << emp.sex;
   cout << "\tAge: " << emp.age << "\tPhone: " << emp.phone << endl;
   return cout;
 }


istream &operator>>(istream &stream, Employee &emp)
{
   cout << "Enter Name: ";
   stream >> emp.name;
   cout << "Enter Sex: ";
   stream >> emp.sex;
   cout << "Enter Age: ";
   stream >> emp.age;
   cout << "Enter Phone: ";
   stream >> emp.phone;
   return stream;
}

int main(void)
{
   Employee worker;

   cin >> worker;
   cout << worker ;
}
  
    
    
  








Related examples in the same category

1.Overload ostream and istreamOverload ostream and istream
2.Overload the << operator
3.Overloading operator<<()
4.Demonstrate a custom inserter and extractor for objects of type ThreeD.
5.Non-member functions are used to create custom inserters for three_d objects and to overload + for int + three_d.