안녕하세요. 천리안 프로그래머포럼 C++Builder 담당자 임펠리테리입니다.
잘 이해가 안되는 소스이군요. Rectangle 클래스 모듈 안에다가 main 함수를
만들고.. 또 main함수 뒤에 있는 변수들은 전역적으로 선언한것 같은데..
그 마지막에 있는 }; 은 뭐지요? 쩝..
질문이 너무 모호하네요. private 멤버가 undefined로 나온다고 하셨는데,
어느것을 말씀하신건지.. 잘못된 곳이 꽤 되는군요.
몇가지 먼저 눈에 띄는것만 말씀드리면,
소스 일부를 그대로 복사해서, hpp화일 내의 다음 부분...
int GetY() const {return itsY;)
private:
int itsX;
int itsY;
멤버함수의 바디를 클래스 선언 내부에 포함하셨는데, 이것은 순서의 문제로
당연히 에러가 납니다. 컴파일러가 itsX에 대한 선언을 발견하기 전에 그 변수를
억세스하려고 했으니 당연하죠. 거기다가 함수 바디를 클래스 내에 포함시키려면
마지막에 ; 를 포함해야 합니다. 그리고 함수 바디가 끝날때, 자세히 보니 }가
아닌 )로 끝내셨군요.
그러니 이 부분을 정정하면,
private:
int itsX;
int itsY;
int GetY() const {return itsY;};
이렇게 되어야죠. 나머지 함수들도 마찬가지입니다.
다음 클래스, Rectangle도 비슷합니다. 소스 마지막의 변수들은 아마도 클래스
선언 내의 부분인데 잘못 편집하셨나보네요. 어쨌든 위에서 지적한 것과 비슷한
실수를 하셨습니다.
그럼 참고하시길...
독립문에서 임펠리테리였습니다.
(cbuilder, cbuilder@thrunet.com)
|