Operator Overlodding in c++


#include<iostream>
#include<conio.h>
using namespace std;
class Sum
{
      private:
              int x;
              int y;
             
              public:
              Sum(int,int);
              Sum  operator+(Sum & s);
        void display();
};
Sum::Sum(int a,int b)
{
 x=a;
 y=b;
}
Sum  Sum::operator+(Sum & s)
{

return Sum((x+s.x),(y+s.y));

cout << "call copy cunstructor: : "<< endl;
return *this;
}
void Sum::display()
{
    
 cout << "number one::<<:"<<x<< endl;
 cout << "number Two::<< :"<< y << endl;
}
int main()
{
    Sum s1(4,5);
     Sum s2(6,7);
     Sum s3(0,0);
     s3=s1+s2;
    s3.display();
   
    getch();
    return 0;
   
}