I have an error in my code, I want to display the sume of 2 objects with pointers in a class. Please help me to fix it, maybe is due to the pointers. Can you see what's wrong?
This is the error:
<source>(79): error C2280: 'Pair &Pair::operator =(const Pair &)': attempting to reference a deleted function
<source>(60): note: compiler has generated 'Pair::operator =' here
<source>(60): note: 'Pair &Pair::operator =(const Pair &)': function was implicitly deleted because 'Pair' has a user-defined move constructor
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
class Pair {
    int *x,  *y;
public:
    Pair() {
        x = new int(sizeof(x));
        y = new int(sizeof(y));
        *x = 0;
        *y = 0;
    }
    Pair(int a, int b) {
        x = new int(sizeof(x));
        y = new int(sizeof(y));
        *x = a;
        *y = b;
    }
    Pair(Pair& ob) {
        x = new int(sizeof(ob.x));
        y = new int(sizeof(ob.y));
        *x = *(ob.x);
        *y = *(ob.y);
    }
    Pair(Pair&& ob) {
        x = new int(sizeof(ob.x));
        y = new int(sizeof(ob.y));
        *x = *(ob.x);
        *y = *(ob.y);
    }
    Pair(int a):Pair(a, 0) {
        
    }
    void setX(int X) {
        *x = X;
    }
    void setY(int Y) {
        *y = Y;
    }
    int* getX() {
        return x;
    }
    int* getY() {
        return y;
    }
    ~Pair() {
        delete[]x;
        delete[]y;
    }
    Pair sume(Pair ob1){
        Pair ob2;
        *(ob2.x) = *(ob1.x) + (*x);
        *(ob2.y) = *(ob1.y) + (*y);
        return ob2;
    }
    double media() {
        return (double(*x) + double(*y)) / 2;
    }
};
int main() {
    Pair ob1, ob2(5), ob3(4, 3);
    ob1.setX(6);
    ob1.setY(7);
    cout << "X= " << *(ob1.getX())<<endl;
    cout << "Y= " << *(ob1.getY())<<endl;
    cout << "Media este: " << ob1.media();
    cout << "\nX= " << *(ob2.getX()) << endl;
    cout << "Y= " << *ob2.getY() << endl;
    cout << "Media este: " << ob2.media();
    cout << "\nX= " << *(ob3.getX()) << endl;
    cout << "Y= " << *(ob3.getY()) << endl;
    cout << "Media este: " << ob3.media();
    Pair ob4,ob5,ob6;
    ob4 = ob1.sume(ob2);//here the compiler shows the error
   
    
    cout <<"\nX= "<< *(ob4.getX())<<endl;
    cout << "Y= " << *(ob4.getY())<<endl;
}
 
    