구현이 다른곳에 있는 소스를 컴파일할때....

kws4679의 이미지

현재 이런 상황입니다

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 만 가지고있고

실제로 가상함수가 구현된것은 없기 때문인데 이런 경우에 어떻게 해결할수 있나요??

shint의 이미지

public:
virtual void DrawShape()=0;

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com