Skip to main content

Overload output (<<) and input (>>) operators


#include <iostream>
using namespace std;

class MyClass {
  int x, y, z;
public:
  MyClass(int a, int b, int c) { x = a; y = b; z = c; }
  friend ostream &operator << (ostream &stream, MyClass obj);
  friend istream &operator >> (istream &stream, MyClass &obj);
} ;

ostream &operator << (ostream &stream, MyClass obj)
{ cout<<"\n Insertion ( << ) operator\n";
  stream << obj.x << ", ";
  stream << obj.y << ", ";
  stream << obj.z << "\n";
  return stream; // return the stream
}

istream &operator >> (istream &stream, MyClass &obj)
{
  cout << "\n\n Extraction ( >> ) operator\n Enter X,Y,Z values: ";
  stream >> obj.x >> obj.y >> obj.z;
  return stream;
}

void main()
{
  MyClass a(1, 2, 3);

  cout << a;

  cin >> a;
  cout << a;

  system("pause");
}

Comments

Popular posts from this blog

Use Case Diagram for Online Book Store

Online Movie Ticket Booking Sequence Diagram

Linear search & Binary search using Template

Write a program to search an element from a list. Give user the option to perform Linear or Binary search. Use Template functions. #include<iostream> using namespace std; template <class T> void Lsearch(T *a, T item, int n) { int z=0; for(int i=0;i<n;i++) { if(a[i]== item) { z=1; cout<<"\n Item found at position = "<<i+1<<"\n\n"; } else if(z!=1) { z=0; } } if(z==0) cout<<"\n Item not found in the list\n\n"; } template <class T> void Bsearch(T *a, T item, int n) { int beg=0,end=n-1; int mid=beg+end/2; while((a[mid]!=item) && (n>0)) { if(item>a[mid]) beg=mid; else end=mid; mid=(beg+end)/2; n--; } if(a[mid]==item) cout<<"\n Item found at position = "<<mid+1<<"\n\n"; else cout<<"\n Item not found in the list\n\n"; } void main() { int iarr[10] = {2,42,56,86,87,99,323,546,767,886};