There are a couple of things, here, that are confusing:
1. Overusing the variable name, 'x'. Change the declaration
of Test to be Test( int x0 = 0 );
2. The rules don't allow you to assign to "this". However, you
can pass around &obj and ptr inside the main function to change
which Test object you are working with.