//前半
#include <iostream>
using namespace std;

class _2ch
{
  int val;
   int* pval;

public:
   _2ch(int i){val=i;pval=&val;};
   int* GetAddressOfVal(){return &val;};
   int* GetPval(){return pval;};


   _2ch copy(){
      _2ch c(val);
      return c;
   };

   _2ch& operator=(_2ch& c){
      cout<<c.GetAddressOfVal()<<endl;
      cout<<c.GetPval()<<endl;
      val=c.val;
      pval=&val;
      return *this;
   };
};