#include <iostream>
using namespace std;

class A { 
public:
	A() {}
	explicit A(const A& a) { cout << "copy!\n"; } 
};

A GetA()
{
  A a = A();
  A result = a;
  return result;
}

int main()
{
  A b = GetA();
  A* x = &b;
  A y = *x;
  A z = b;
}