#include <iostream>
using namespace std;
class A
{
public:
	A()
	{
		cout << "constructor: "  <<  this << endl;
	}
	A(const A & B)
	{
		cout << "copy constructor: " << this << endl;
	}
	A& operator=(const A & B)
	{
		cout << "copy asignment: " << this << endl;
	}
	~A()
	{
		cout << "Destroyer: " << this << endl;
	}
};
A f()
{
	A a;
	return a;
}
int main()
{
	A b;
	b = f();
	A c=b;
	return 0;
}