// 멤버함수의호출원리
class A
{
        int x;
public:
        void foo( int a )      // void foo( Point* const this, int a)
        {
               x = a;                 // this->x = a;
        }
};
void main()
{
        A a1, a2;
        a1.foo(10);  // foo( &a1, 10 );
        // push &a1 이 아니라 mov ecx, &a1
        // a1 , 즉 this에 대한 인자는 레지스터로 보낸다.( thiscall )
        // push 10
        // call foo
}