error C2504 클래스의 다중 레이어 헤더 파일 포함

2609 단어 error
error C2504: 헤더 파일 포함 불완전
 
오늘 귀찮은 문제에 부딪혔습니다. 하나의 클래스를 계승한 후에 헤더 파일이 모두 포함된 것 같지만 부류가 정의되지 않은 문제가 발생했습니다. 마지막으로 부류의 부류가 실현될 때 cpp 파일에 그의 부류의 정의를 모두 포함해야 한다는 것을 발견했습니다.모든 cpp 파일은 단독으로 컴파일되었기 때문에, 이 클래스의 크기와 실현된 세부 사항을 확인하기 위해 모든 부류를 알아야 합니다.
인스턴스 코드는 다음과 같습니다.
//a.h
class
A{ public: virtual void fun()=0; };
//b.h
class B : public A { public: virtual void fun(); };

//b.cpp #include
"a.h" void B::fun() { std::cout<<"Class B fun()"<<std::endl; }
//c.h
class C : public B { public: virtual void fun(); };
//c.cpp #include
"a.h" #include "b.h" void C::fun() { std::cout<<"Class C fun()"<<std::endl; }

좋은 웹페이지 즐겨찾기