일부 클래스 메소드를 넣어 나는 하나의 .H 및 .CC 파일에 포함 된 다음과 같은 형식의 코드의 비트 :다른 .CC 파일
에서 MyClass.h :
#ifndef MYCLASS_H
#define MYCLASS_H
class myClass
{
public:
myClass(); // constructor
~myClass(); // destructor
void classMethod1();
void classMethod2();
int memberVarable1;
int memberVariable2;
};
#endif
및 myClass가 .cc :
#include "myClass.h"
myClass::myClass(){
// stuff
}
myClass::~myClass(){
// stuff
}
void myClass::classMethod1(){
// stuff
}
void myClass::classMethod2(){
// stuff
}
이 모든 것이 정상적으로 작동합니다. 그러나 내 프로젝트가 상당히 커지고 새로운 기능을 추가하려고합니다. myClass.h와 myClass.cc를 막히는 대신에 새로운 메소드를 다른 .cc 파일에 넣기를 원합니다. 나는 이것을 작동시킬 수있는 것 같지 않습니다.
에서 MyClass.h :
#ifndef MYCLASS_H
#define MYCLASS_H
#include "secondFile.h"
class myClass
{
public:
myClass(); // constructor
~myClass(); // destructor
void classMethod1();
void classMethod2();
int memberVarable1;
int memberVariable2;
};
#endif
및 myClass.cc :
#include "myClass.h"
#include "secondFile.h"
myClass::myClass(){
// stuff
}
myClass::~myClass(){
// stuff
}
void myClass::classMethod1(){
// stuff
}
void myClass::classMethod2(){
// stuff
}
secondFile.h :
#ifndef SECONDFILE_H
#define SECONDFILE_H
void someNewMethod();
#endif
secondFile.cc
#include "secondFile.h"
void someNewMethod(){
// can't see classMethod1()
}
다음과 같이 정의합니다 무효 myClass가 :: classMethod1을() { // 물건 } 무효 myClass가 :: classMethod2() { // 물건 } 내가 문제를 많이 볼 수 있습니다 –
, 그러나 나는 그 문제들 중 많은 부분이 당신의 실제 코드에 없다고 확신한다. 당신이 진짜 코드를이 포스트에 옮겨 적어 놓은 실수 일 뿐이다. 따라서 실제 코드와 비슷하게 게시물을 수정하십시오. 그렇지 않으면 당신은 당신의 실제 문제와 아무런 관련이없는 해답을 얻을 것입니다. – john
또한 makefile을 사용하고 있습니까? –