구현이 다른곳에 있는 소스를 컴파일할때....
글쓴이: kws4679 / 작성시간: 목, 2011/02/24 - 5:18오후
현재 이런 상황입니다
class Shape {
private:
virtual void DrawShape()=0;
class Circle:public Shape {
private:
void DrawShape(){}
};
위와 같은 코드가 classmodel.h 란 파일에 있고
실제 DrawShape 함수의 구현은
View.cpp 에 있습니다
그리고 main.cpp 에서
Shape *test = new Circle;
라는 코드가 존재합니다
이런 상황에서 view.cpp 를 컴파일하고 main.cpp 를 컴파일(물론 오브젝트 파일로) 하여 링크하려고하는데
main.cpp 에서 컴파일될시 객체 생성할때 에러가 납니다. 제가봐도 main.cpp 는 classmodel.h 만 가지고있고
실제로 가상함수가 구현된것은 없기 때문인데 이런 경우에 어떻게 해결할수 있나요??
Forums:
private를 public으로 바꿔보세요.
public:
virtual void DrawShape()=0;
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기