과제인 학생 관리 프로그램 떄문에 malloc를 이용해서 스택을 구현해서 완성은 했습니다.
그런데 사소한 고민거리가 하나 생겼네요...사소하지 않을 수도 있지만요-ㅅ-)
아무튼 소스 하나 보시고

CMallocStack::CMallocStack()
{
        Size = 3;
        Score = (int*)malloc(sizeof(int)*Size);                //Size만큼 공간을 할당한다. 일단은-_-)~
        Point = 0;                                                                        //가리킬 포인트는 0;
}

void CMallocStack::Push(int aScore)
{
        if ( Score == NULL )                //전체가 해지되면
                CMallocStack();                        //다시 할당한다.

        if ( Point == -1 )                        //언더플로우 상태였다면 1을 하나 증가시켜 0으로 만든다.
                Point = 0;
        if ( Point == Size )        {        //오버플로우 상태라면
                Size += 3;                                //5의 공간을 더 잡기 위해 사이즈를 조정
                Score = (int*)realloc(Score, sizeof(int)*Size);        //사이즈가 3늘어났다!
        }
        Score[Point++] = aScore;
}


에 소스가 이렇게 생겼습니다-ㅅ-)
제가 원하는 것은 어느 순간에 가면 Score를 free시키는 일이 있는데(학생의 데이터를 삭제할 때)
그곳에 다시 데이터를 Push하게 되면 그 Push한 데이터를 넣기 위해서 생성자를 다시 호출합니다.

에-ㅅ- 그래서 말인데요
생성자를 다시 호출하게 되면 안되는겁니까? 저렇게 소스를 작성했었는데 생성자를 호출하고도 Score에는 할당이 안되는군요
..아니 정확히 말하면 Push의 Score와 생성자의 Score가 다른 변수로 취급 당합니다.

얼핏 생각으로는 this와 관계된 것 같은데 정확한 이유는 모르겠습니다. 조언 부탁드리겠습니다.