#include <iostream>
class Test
{
public:
unsigned int m_Variable;
};
class Test2
{
public:
Test2 (
void
) = default;
unsigned int m_Variable;
};
class Test3
{
public:
Test3 (
void
)
{
}
unsigned int m_Variable;
};
class Test4
{
public:
Test4 (
void
) :
m_Variable(0L)
{
}
unsigned int m_Variable;
};
int
main (
void
)
{
//
// Using "Test":
//
printf("Test:\n\n");
Test a1;
printf("%i\n", a1.m_Variable);
Test* a2 = new Test;
printf("%i\n", a2->m_Variable);
delete a2;
Test* a3 = new Test();
printf("%i\n", a3->m_Variable);
delete a3;
printf("\n");
//
// Using "Test2":
//
printf("Test2:\n\n");
Test2 b1;
printf("%i\n", b1.m_Variable);
Test2* b2 = new Test2;
printf("%i\n", b2->m_Variable);
delete a2;
Test2* b3 = new Test2();
printf("%i\n", b3->m_Variable);
delete b3;
printf("\n");
//
// Using "Test3":
//
printf("Test3:\n\n");
Test3 c1;
printf("%i\n", c1.m_Variable);
Test3* c2 = new Test3;
printf("%i\n", c2->m_Variable);
delete c2;
Test3* c3 = new Test3();
printf("%i\n", c3->m_Variable);
delete c3;
printf("\n");
//
// Using "Test4":
//
printf("Test4:\n\n");
Test4 d1;
printf("%i\n", d1.m_Variable);
Test4* d2 = new Test4;
printf("%i\n", d2->m_Variable);
delete d2;
Test4* d3 = new Test4();
printf("%i\n", d3->m_Variable);
delete d3;
printf("\n");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgVGVzdAp7CnB1YmxpYzoKCXVuc2lnbmVkIGludCBtX1ZhcmlhYmxlOwp9OwoKY2xhc3MgVGVzdDIKewpwdWJsaWM6CglUZXN0MiAoCgkJdm9pZAoJCSkgPSBkZWZhdWx0OwoKCXVuc2lnbmVkIGludCBtX1ZhcmlhYmxlOwp9OwoKY2xhc3MgVGVzdDMKewpwdWJsaWM6CglUZXN0MyAoCgkJdm9pZAoJCSkKCXsKCX0KCgl1bnNpZ25lZCBpbnQgbV9WYXJpYWJsZTsKfTsKCmNsYXNzIFRlc3Q0CnsKcHVibGljOgoJVGVzdDQgKAoJCXZvaWQKCQkpIDoKCQltX1ZhcmlhYmxlKDBMKQoJewoJfQoKCXVuc2lnbmVkIGludCBtX1ZhcmlhYmxlOwp9OwoKaW50Cm1haW4gKAoJdm9pZAoJKQp7CgkvLwoJLy8gVXNpbmcgIlRlc3QiOgoJLy8KCXByaW50ZigiVGVzdDpcblxuIik7CgkKCVRlc3QgYTE7CglwcmludGYoIiVpXG4iLCBhMS5tX1ZhcmlhYmxlKTsKCQoJVGVzdCogYTIgPSBuZXcgVGVzdDsKCXByaW50ZigiJWlcbiIsIGEyLT5tX1ZhcmlhYmxlKTsKCWRlbGV0ZSBhMjsKCQoJVGVzdCogYTMgPSBuZXcgVGVzdCgpOwoJcHJpbnRmKCIlaVxuIiwgYTMtPm1fVmFyaWFibGUpOwoJZGVsZXRlIGEzOwoJCglwcmludGYoIlxuIik7CgkKCS8vCgkvLyBVc2luZyAiVGVzdDIiOgoJLy8KCXByaW50ZigiVGVzdDI6XG5cbiIpOwoJCglUZXN0MiBiMTsKCXByaW50ZigiJWlcbiIsIGIxLm1fVmFyaWFibGUpOwoJCglUZXN0MiogYjIgPSBuZXcgVGVzdDI7CglwcmludGYoIiVpXG4iLCBiMi0+bV9WYXJpYWJsZSk7CglkZWxldGUgYTI7CgkKCVRlc3QyKiBiMyA9IG5ldyBUZXN0MigpOwoJcHJpbnRmKCIlaVxuIiwgYjMtPm1fVmFyaWFibGUpOwoJZGVsZXRlIGIzOwkKCQoJcHJpbnRmKCJcbiIpOwoJCgkvLwoJLy8gVXNpbmcgIlRlc3QzIjoKCS8vCQoJcHJpbnRmKCJUZXN0MzpcblxuIik7CgkKCVRlc3QzIGMxOwoJcHJpbnRmKCIlaVxuIiwgYzEubV9WYXJpYWJsZSk7CgoJVGVzdDMqIGMyID0gbmV3IFRlc3QzOwoJcHJpbnRmKCIlaVxuIiwgYzItPm1fVmFyaWFibGUpOwoJZGVsZXRlIGMyOwoJCglUZXN0MyogYzMgPSBuZXcgVGVzdDMoKTsKCXByaW50ZigiJWlcbiIsIGMzLT5tX1ZhcmlhYmxlKTsKCWRlbGV0ZSBjMzsKCQoJcHJpbnRmKCJcbiIpOwoJCgkvLwoJLy8gVXNpbmcgIlRlc3Q0IjoKCS8vCQoJcHJpbnRmKCJUZXN0NDpcblxuIik7CgkKCVRlc3Q0IGQxOwoJcHJpbnRmKCIlaVxuIiwgZDEubV9WYXJpYWJsZSk7CgoJVGVzdDQqIGQyID0gbmV3IFRlc3Q0OwoJcHJpbnRmKCIlaVxuIiwgZDItPm1fVmFyaWFibGUpOwoJZGVsZXRlIGQyOwoJCglUZXN0NCogZDMgPSBuZXcgVGVzdDQoKTsKCXByaW50ZigiJWlcbiIsIGQzLT5tX1ZhcmlhYmxlKTsKCWRlbGV0ZSBkMzsKCQoJcHJpbnRmKCJcbiIpOwoJCglyZXR1cm4gMDsKfQ==