#include <iostream>

class A
{
  int m_n;
public:
  A(int n) : m_n(n)
  { }
  ~A() { std::cout << "~A" << m_n << std::endl; }
 
  A& operator = (A&& a)
  {
    int temp = m_n;
	m_n = a.m_n;
	a.m_n = temp;
    return *this;
  }
};

int main()
{
   A a(1);
   a = A(2);
}
