Data Type Visual C++ .NET

#include "stdafx.h"
using namespace System;
ref class Point
{
public:
    int X;
};
void main()
{
    Point ^p = gcnew Point();
    interior_ptr ip1 = &p;   // pointer to Point
    (*ip1)->X = 1;
    Console::WriteLine((int)&ip1);
    Console::WriteLine(p->X);
    Console::WriteLine((*ip1)->X);
    interior_ptr ip2 = &p->X;  // pointer to Member variable X
    *ip2 += (*ip1)->X;
    Console::WriteLine((int)&ip2);
    Console::WriteLine(*ip2);
}