Overload binary +  

#include<iostream.h>
#include<conio.h>
class Complex
{
    int x,y;
    public:
        void getdata()
        {
            cout<<" enter the real nad imaginary parts of a complex number: ";
            cin>>x>>y;
            
        }
        Complex operator +(Complex c)
        {
            Complex c1;
            c1.x=x+c.x;
            c1.y=y+c.y;
            return c1;
        }
        void disp()
        {
            if(y<0)
            {
                cout<<x<<y<<"i";
            }
            else
            {
                cout<<x<<"+i"<<y
            }
        }
        ]
};


void main()
{
    clrscr();
    Complex c1,c2,c3;
    c1.getdata();
    c2.getdata();
    c3=c1+c2;
    c3.disp();
    getch();
}

Overload binary -

#include<iostream.h>
#include<conio.h>
class Complex
{
    int x,y;
    public:
        void getdata()
        {
            cout<<" enter the real nad imaginary parts of a complex number: ";
            cin>>x>>y;
            
        }
        Complex operator -(Complex c)
        {
            Complex c1;
            c1.x=x-c.x;
            c1.y=y-c.y;
            return c1;
        }
        void disp()
        {
            if(y<0)
            {
                cout<<x<<y<<"i";
            }
            else
            {
                cout<<x<<"+i"<<y
            }
        }
        ]
};


void main()
{
    clrscr();
    Complex c1,c2,c3;
    c1.getdata();
    c2.getdata();
    c3=c1-c2;
    c3.disp();
    getch();
}