Look at your code:
for(i=0;i<x;i++)
{
itr[i] = new ArrObj();
itr[i].putdata();
}
Each time round the loop, you create a brand new empty object and overwrite the existing one. Then you try to print it's - empty - content, and surprised that its ... well ... empty.
Remove the line that creates a new object and overwrites the array element from that loop, and see what happens.