2 کار باید انجام بدید
1_ operator= که برای const&هست رو delete کنید
2_ operator= که rvalue میگیره رو بنویسید :
#include<iostream>
class A{
public:
void operator=(const A&)=delete;
A& operator=(A&& other)
{
this->data=other.data;
other.data=nullptr;
return *this;
}
//constructor , copy constructor va....
private:
int* data;//baraye sadegi int* gerefram
};
int main ()
{
A a;
A b;
//a=b; error
a=A();//ok
}