#include <iostream>
using namespace std;
template <typename T> class tt
{
public :
tt()
{
std::cout << std::endl << " CONSTRUCTOR" << std::endl;
}
template <typename U> const tt<T>& operator=(const tt<U>& that){std::cout << std::endl << " OPERATOR" << std::endl;}
template <typename U> tt(const tt<U>& that)
{
std::cout << std::endl << " COPY CONSTRUCTOR" << std::endl;
}
};
tt<int> test(void)
{
std::cout << std::endl << " INSIDE " << std::endl; tt<int> a; return a;
}
int main() {
// your code goes here
tt<int> a ; a = test();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCnRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyB0dAp7CglwdWJsaWMgOgoJdHQoKQoJewoJCXN0ZDo6Y291dCA8PCBzdGQ6OmVuZGwgPDwgIiAgIENPTlNUUlVDVE9SIiA8PCBzdGQ6OmVuZGw7Cgl9Cgl0ZW1wbGF0ZSA8dHlwZW5hbWUgVT4gY29uc3QgdHQ8VD4mIG9wZXJhdG9yPShjb25zdCB0dDxVPiYgdGhhdCl7c3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbCA8PCAiICAgT1BFUkFUT1IiIDw8IHN0ZDo6ZW5kbDt9Cgl0ZW1wbGF0ZSA8dHlwZW5hbWUgVT4gdHQoY29uc3QgdHQ8VT4mIHRoYXQpCgl7CgkJc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbCA8PCAiICAgIENPUFkgQ09OU1RSVUNUT1IiIDw8IHN0ZDo6ZW5kbDsKCX0KfTsKIAogCnR0PGludD4gdGVzdCh2b2lkKQp7CglzdGQ6OmNvdXQgPDwgc3RkOjplbmRsIDw8ICIgICAgICBJTlNJREUgIiA8PCBzdGQ6OmVuZGw7IHR0PGludD4gYTsgcmV0dXJuIGE7Cn0KIAppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCXR0PGludD4gYSA7IGEgPSB0ZXN0KCk7CiAKCXJldHVybiAwOwp9