#include <iostream>
using namespace std;
template <class T>
struct clearable
{
void clear()
{
static T _clear;
*((T*)this) = _clear;
};
};
class test : public clearable<test>
{
public:
int a;
};
int main()
{
test _test;
_test.a=3;
_test.clear();
printf("%d", _test.a);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKICAgIHRlbXBsYXRlIDxjbGFzcyBUPgogICAgc3RydWN0IGNsZWFyYWJsZQogICAgewogICAgICAgIHZvaWQgY2xlYXIoKQogICAgICAgIHsKICAgICAgICAgICAgc3RhdGljIFQgX2NsZWFyOwogICAgICAgICAgICAqKChUKil0aGlzKSA9IF9jbGVhcjsKICAgICAgICB9OwogICAgfTsKCiAgICBjbGFzcyB0ZXN0IDogcHVibGljIGNsZWFyYWJsZTx0ZXN0PgogICAgewogICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgaW50IGE7CiAgICB9OwoKICAgIGludCBtYWluKCkKICAgIHsKICAgICAgICB0ZXN0IF90ZXN0OwogICAgICAgIF90ZXN0LmE9MzsKICAgICAgICBfdGVzdC5jbGVhcigpOwoKICAgICAgICBwcmludGYoIiVkIiwgX3Rlc3QuYSk7CgkKICAgICAgICByZXR1cm4gMDsKICAgIH0K